qemu-e2k/hw/ide
Paolo Bonzini d02cea6437 atapi: call ide_set_irq before ide_transfer_start
The ATAPI_INT_REASON_IO interrupt is raised when I/O starts, but in the
AHCI case ide_set_irq was actually called at the end of a mutual recursion.
Move it early, with the side effect that ide_transfer_start becomes a tail
call in ide_atapi_cmd_reply_end.

Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180606190955.20845-7-jsnow@redhat.com
Signed-off-by: John Snow <jsnow@redhat.com>
2018-06-08 13:36:31 -04:00
..
Makefile.objs hw/ide: Emulate SiI3112 SATA controller 2018-01-10 12:53:00 +11:00
ahci-allwinner.c ide: use local path for local headers 2018-06-01 19:20:37 +03:00
ahci.c ide: push end_transfer_func out of start_transfer callback, rename callback 2018-06-08 13:36:25 -04:00
ahci_internal.h ahci: delete old host register address definitions 2018-06-08 13:17:38 -04:00
atapi.c atapi: call ide_set_irq before ide_transfer_start 2018-06-08 13:36:31 -04:00
cmd646.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
core.c ide: make ide_transfer_stop idempotent 2018-06-08 13:36:31 -04:00
ich.c ide: use local path for local headers 2018-06-01 19:20:37 +03:00
isa.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
macio.c macio: fix NULL pointer dereference when issuing IDE trim 2018-03-27 00:38:00 -04:00
microdrive.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
mmio.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-03-12 16:12:46 +01:00
pci.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-06-01 14:15:10 +02:00
piix.c hw/ide: remove old i386 dependency 2017-12-18 17:07:02 +03:00
qdev.c hw/block: Use errp directly rather than local_err 2017-12-19 10:25:03 +00:00
sii3112.c sii3112: Remove unneeded exit function 2018-03-18 18:27:23 +11:00
trace-events ide: push end_transfer_func out of start_transfer callback, rename callback 2018-06-08 13:36:25 -04:00
via.c hw: Do not include "sysemu/block-backend.h" if it is not necessary 2018-06-01 14:15:10 +02:00