[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v3 15/27] ide/atapi: Don't fail eject when tray is a
From: |
Markus Armbruster |
Subject: |
[Qemu-devel] [PATCH v3 15/27] ide/atapi: Don't fail eject when tray is already open |
Date: |
Tue, 6 Sep 2011 18:58:48 +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 06778f3..3f909c3 100644
--- a/hw/ide/atapi.c
+++ b/hw/ide/atapi.c
@@ -910,7 +910,7 @@ static void cmd_start_stop_unit(IDEState *s, uint8_t* buf)
bool loej = buf[4] & 2; /* load on start, eject on !start */
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.6
- [Qemu-devel] [PATCH v3 19/27] block: Drop BlockDriverState member removable, (continued)
- [Qemu-devel] [PATCH v3 19/27] block: Drop BlockDriverState member removable, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 07/27] scsi-disk: Track tray open/close state, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 12/27] block: Leave enforcing tray lock to device models, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 08/27] block: Revert entanglement of bdrv_is_inserted() with tray status, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 06/27] scsi-disk: Factor out scsi_disk_emulate_start_stop(), Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 01/27] ide: Fix ATA command READ to set ATAPI signature for CD-ROM, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 20/27] block: Show whether the virtual tray is open in info block, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 26/27] block: New change_media_cb() parameter load, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 15/27] ide/atapi: Don't fail eject when tray is already open,
Markus Armbruster <=
- [Qemu-devel] [PATCH v3 13/27] block: Drop medium lock tracking, ask device models instead, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 24/27] block: Reset buffer alignment on detach, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 25/27] nbd: Clean up use of block_int.h, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 23/27] block: New bdrv_set_buffer_alignment(), Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 27/27] ide/atapi scsi-disk: Make monitor eject -f, then change work, Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 18/27] block: Clean up remaining users of "removable", Markus Armbruster, 2011/09/06
- [Qemu-devel] [PATCH v3 14/27] block: Rename bdrv_set_locked() to bdrv_lock_medium(), Markus Armbruster, 2011/09/06