summaryrefslogtreecommitdiff
path: root/hw/fdc.c
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 /hw/fdc.c
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>
Diffstat (limited to 'hw/fdc.c')
-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;
}