summary refs log tree commit diff stats
path: root/hw/ide/atapi.c
diff options
context:
space:
mode:
authorAnthony Liguori <aliguori@us.ibm.com>2012-09-17 10:23:15 -0500
committerAnthony Liguori <aliguori@us.ibm.com>2012-09-17 10:23:15 -0500
commit109820df4a3b8b58f234319d015a854df9db8981 (patch)
treec08a668dc3ecb2063e729658d0e63afa671778e5 /hw/ide/atapi.c
parent509e9c462d03c4b7edc4a0d277311a7f45c9c046 (diff)
parentfe235a06e1e008dedd2ac3cc0a3a655169ce9b33 (diff)
downloadfocaccia-qemu-109820df4a3b8b58f234319d015a854df9db8981.tar.gz
focaccia-qemu-109820df4a3b8b58f234319d015a854df9db8981.zip
Merge remote-tracking branch 'kwolf/for-anthony' into staging
* kwolf/for-anthony:
  block: Don't forget to delete temporary file
  Don't require encryption password for 'qemu-img info' command
  qemu-img: Add json output option to the info command.
  qapi: Add SnapshotInfo and ImageInfo.
  ahci: properly reset PxCMD on HBA reset
  block: fix block tray status
  vdi: Fix warning from clang
  block/curl: Fix wrong free statement
  ide: Fix error messages from static code analysis (no real error)
  ATAPI: STARTSTOPUNIT only eject/load media if powercondition is 0
  sheepdog: fix savevm and loadvm
Diffstat (limited to 'hw/ide/atapi.c')
-rw-r--r--hw/ide/atapi.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
index f7f714c726..685cbaa889 100644
--- a/hw/ide/atapi.c
+++ b/hw/ide/atapi.c
@@ -875,6 +875,12 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t* buf)
     int sense;
     bool start = buf[4] & 1;
     bool loej = buf[4] & 2;     /* load on start, eject on !start */
+    int pwrcnd = buf[4] & 0xf0;
+
+    if (pwrcnd) {
+        /* eject/load only happens for power condition == 0 */
+        return;
+    }
 
     if (loej) {
         if (!start && !s->tray_open && s->tray_locked) {