This patch is necessary because ATAPI-SCSI bridge transfer uses ide_transfer_start/stop and ide_data_read function check if PIO transfer is running, so bridge function should be added to this check
Signed-off-by: Alexander Bezzubikov <abezzubi...@ispras.ru> --- hw/ide/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index 96824ab..4988db6 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -34,6 +34,7 @@ #include "sysemu/block-backend.h" #include <hw/ide/internal.h> +#include "hw/ide/bridge.h" /* These values were based on a Seagate ST3500418AS but have been modified to make more sense in QEMU */ @@ -2002,7 +2003,8 @@ static bool ide_is_pio_out(IDEState *s) } else if (s->end_transfer_func == ide_sector_read || s->end_transfer_func == ide_transfer_stop || s->end_transfer_func == ide_atapi_cmd_reply_end || - s->end_transfer_func == ide_dummy_transfer_stop) { + s->end_transfer_func == ide_dummy_transfer_stop || + s->end_transfer_func == ide_bridge_do_transfer) { return true; } -- 2.1.4