Patchwork SCSI: Update the sense code for PREVENT REMOVAL errors

login
register
mail settings
Submitter ronniesahlberg@gmail.com
Date July 29, 2012, 9:52 p.m.
Message ID <1343598723-12299-2-git-send-email-ronniesahlberg@gmail.com>
Download mbox | patch
Permalink /patch/173935/
State New
Headers show

Comments

ronniesahlberg@gmail.com - July 29, 2012, 9:52 p.m.
Change the sense codes for failures to eject a device that is locked
by PREVENT_ALLOW_MEDIUM_REMOVAL from
the generic MEDIA_LOAD_OR_EJECT_FAILED to the more specific
MEDIUM_REMOVAL_PREVENTED.

The second sense code is more accurate, and is also listed in MMC annex F
for the recommended sense codes for MMC devices while the first sense code is not.

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
---
 hw/scsi-bus.c |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
Paolo Bonzini - July 30, 2012, 7:35 a.m.
Il 29/07/2012 23:52, Ronnie Sahlberg ha scritto:
> Change the sense codes for failures to eject a device that is locked
> by PREVENT_ALLOW_MEDIUM_REMOVAL from
> the generic MEDIA_LOAD_OR_EJECT_FAILED to the more specific
> MEDIUM_REMOVAL_PREVENTED.
> 
> The second sense code is more accurate, and is also listed in MMC annex F
> for the recommended sense codes for MMC devices while the first sense code is not.
> 
> Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
> ---
>  hw/scsi-bus.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)

Thanks, applied.  Can you redo these two MMC patches also for ATAPI?

Paolo

Patch

diff --git a/hw/scsi-bus.c b/hw/scsi-bus.c
index dc74063..9929d3c 100644
--- a/hw/scsi-bus.c
+++ b/hw/scsi-bus.c
@@ -1089,7 +1089,7 @@  const struct SCSISense sense_code_NO_MEDIUM = {
 
 /* LUN not ready, medium removal prevented */
 const struct SCSISense sense_code_NOT_READY_REMOVAL_PREVENTED = {
-    .key = NOT_READY, .asc = 0x53, .ascq = 0x00
+    .key = NOT_READY, .asc = 0x53, .ascq = 0x02
 };
 
 /* Hardware error, internal target failure */
@@ -1129,7 +1129,7 @@  const struct SCSISense sense_code_INCOMPATIBLE_FORMAT = {
 
 /* Illegal request, medium removal prevented */
 const struct SCSISense sense_code_ILLEGAL_REQ_REMOVAL_PREVENTED = {
-    .key = ILLEGAL_REQUEST, .asc = 0x53, .ascq = 0x00
+    .key = ILLEGAL_REQUEST, .asc = 0x53, .ascq = 0x02
 };
 
 /* Command aborted, I/O process terminated */