summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPavel Hrdina <phrdina@redhat.com>2012-06-13 15:43:11 +0200
committerKevin Wolf <kwolf@redhat.com>2012-06-15 14:03:43 +0200
commitc52acf60b6c12ff5eb58eb6ac568c159ae0c8737 (patch)
tree7ffefd9b9fee15ca9828e3a47913393f6d5e7ff4
parentaf7b708db2d03eb47f7ba44a050439ad9ee65e7a (diff)
downloadqemu-c52acf60b6c12ff5eb58eb6ac568c159ae0c8737.tar.gz
fdc: fix implied seek while there is no media in drive
The Windows uses 'READ' command at the start of an instalation without checking the 'dir' register. We have to abort the transfer with an abnormal termination if there is no media in the drive. Signed-off-by: Pavel Hrdina <phrdina@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
-rw-r--r--hw/fdc.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/hw/fdc.c b/hw/fdc.c
index bfa4e686fa..78b4e3309c 100644
--- a/hw/fdc.c
+++ b/hw/fdc.c
@@ -159,6 +159,10 @@ static int fd_seek(FDrive *drv, uint8_t head, uint8_t track, uint8_t sect,
drv->sect = sect;
}
+ if (drv->bs == NULL || !bdrv_is_inserted(drv->bs)) {
+ ret = 2;
+ }
+
return ret;
}