@@ -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;
}
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 <abezzubikov@ispras.ru> --- hw/ide/core.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)