diff options
author | Blue Swirl <blauwirbel@gmail.com> | 2011-03-12 09:52:25 +0000 |
---|---|---|
committer | Blue Swirl <blauwirbel@gmail.com> | 2011-03-12 09:52:25 +0000 |
commit | e14c8062f4c4c336c6e5fa5b51472ffff5f3fe38 (patch) | |
tree | cec17c2022dda9b8607f3399f19e2335f810391f /hw/pc.c | |
parent | c4374bb7533c2c8f999526148113012dc1f436ae (diff) | |
download | qemu-e14c8062f4c4c336c6e5fa5b51472ffff5f3fe38.zip qemu-e14c8062f4c4c336c6e5fa5b51472ffff5f3fe38.tar.gz qemu-e14c8062f4c4c336c6e5fa5b51472ffff5f3fe38.tar.bz2 |
pc: fix wrong CMOS values for floppy drives
Before commit 63ffb564dca94f8bda01ed6d209784104630a4d2, states for
floppy drives were calculated in fdc.c:fd_revalidate(). There it is
also considered whether a disk is inserted or not. The commit didn't copy
the logic completely to pc.c, which caused a regression.
Fix by adding the same check also to pc.c.
Reported-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Tested-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
Diffstat (limited to 'hw/pc.c')
-rw-r--r-- | hw/pc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -382,7 +382,7 @@ void pc_cmos_init(ram_addr_t ram_size, ram_addr_t above_4g_mem_size, /* floppy type */ for (i = 0; i < 2; i++) { fd[i] = drive_get(IF_FLOPPY, 0, i); - if (fd[i]) { + if (fd[i] && bdrv_is_inserted(fd[i]->bdrv)) { bdrv_get_floppy_geometry_hint(fd[i]->bdrv, &nb_heads, &max_track, &last_sect, FDRIVE_DRV_NONE, &fd_type[i]); |