From fdc650d76d785ba56b1e87c260ce96d8e22c7cc8 Mon Sep 17 00:00:00 2001 From: Kevin Wolf Date: Thu, 9 Jun 2011 14:12:57 +0200 Subject: [PATCH] ide: Fix ide_drive_pio_state_needed() When a failed PIO request caused the VM to stop, we still need to transfer the PIO state even though DRQ=0 at this point. Signed-off-by: Kevin Wolf --- hw/ide/core.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/hw/ide/core.c b/hw/ide/core.c index da250ac39b..e5def8b3b1 100644 --- a/hw/ide/core.c +++ b/hw/ide/core.c @@ -1837,7 +1837,8 @@ static bool ide_drive_pio_state_needed(void *opaque) { IDEState *s = opaque; - return (s->status & DRQ_STAT) != 0; + return ((s->status & DRQ_STAT) != 0) + || (s->bus->error_status & BM_STATUS_PIO_RETRY); } static bool ide_atapi_gesn_needed(void *opaque)