]> git.proxmox.com Git - qemu.git/commitdiff
scsi: reset cdrom tray statuses on scsi_disk_reset
authorPavel Hrdina <phrdina@redhat.com>
Mon, 20 May 2013 11:06:47 +0000 (13:06 +0200)
committerMichael Roth <mdroth@linux.vnet.ibm.com>
Tue, 18 Jun 2013 17:56:05 +0000 (12:56 -0500)
Tray statuses should be also reset. Some guests may lock the tray and
right after resetting the guest it should be unlocked and closed. This
is done on power-on, reset and resume from suspend/hibernate on bare-metal.

This fix is already committed for IDE CD.
Check the commit a7f3d65b65b8c86a5ff0c0abcfefb45e2ec6fe4c.

Test results on bare-metal:
  - on reset/power-on the CD-ROM tray is closed even before the monitor
    is turned on
  - on resume from suspend/hibernate the tray is also closed before
    the monitor is turned on

From test results it seems that this behavior is OS and probably BIOS
independent.

Cc: qemu-stable@nongnu.org
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
(cherry picked from commit 7721c7f7c272fd2ed9d58500b7e99c33ab8a1af1)

Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
hw/scsi/scsi-disk.c

index c8d2a99593b605edfe7a0e9d6ba06a84f876df94..02733dc507f5735f2fd242745b99e53ba1d7ec49 100644 (file)
@@ -1984,6 +1984,9 @@ static void scsi_disk_reset(DeviceState *dev)
         nb_sectors--;
     }
     s->qdev.max_lba = nb_sectors;
+    /* reset tray statuses */
+    s->tray_locked = 0;
+    s->tray_open = 0;
 }
 
 static void scsi_destroy(SCSIDevice *dev)