[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 32/55] ide/atapi: Don't fail eject when tray is alre
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH 32/55] ide/atapi: Don't fail eject when tray is already open |
Date: |
Wed, 20 Jul 2011 18:24:06 +0200 |
MMC-5 6.40.2.6 specifies that START STOP UNIT succeeds when the drive
already has the requested state. cmd_start_stop_unit() fails when
asked to eject while the tray is open and locked. Fix that.
Signed-off-by: Markus Armbruster <address@hidden>
---
hw/ide/atapi.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/ide/atapi.c b/hw/ide/atapi.c
index 1be6cbf..9f384c8 100644
--- a/hw/ide/atapi.c
+++ b/hw/ide/atapi.c
@@ -899,7 +899,7 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t* buf)
bool loej = buf[4] & 2;
if (loej) {
- if (!start && s->tray_locked) {
+ if (!start && !s->tray_open && s->tray_locked) {
sense = bdrv_is_inserted(s->bs)
? SENSE_NOT_READY : SENSE_ILLEGAL_REQUEST;
ide_atapi_cmd_error(s, sense, ASC_MEDIA_REMOVAL_PREVENTED);
--
1.7.2.3
- [Qemu-devel] [PATCH 27/55] scsi-disk: Switch from BlockDriverState's locked to own tray_locked, (continued)
- [Qemu-devel] [PATCH 27/55] scsi-disk: Switch from BlockDriverState's locked to own tray_locked, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 04/55] block: Generalize change_cb() to BlockDevOps, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 13/55] ide: Use a table to declare which drive kinds accept each command, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 12/55] ide: Fix ATA command READ to set ATAPI signature for CD-ROM, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 32/55] ide/atapi: Don't fail eject when tray is already open,
Markus Armbruster <=
- [Qemu-devel] [PATCH 05/55] block: Split change_cb() into change_media_cb(), resize_cb(), Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 34/55] scsi-disk: Fix START_STOP to fail when it can't eject, Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 39/55] block/raw: Fix to forward method bdrv_media_changed(), Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 15/55] ide/atapi: Clean up misleading name in cmd_start_stop_unit(), Markus Armbruster, 2011/07/20
- [Qemu-devel] [PATCH 31/55] ide: Provide IDEDeviceInfo method exit(), Markus Armbruster, 2011/07/20