lkml.org 
[lkml]   [2014]   [Jan]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subjectpatch "[SCSI] Fix out of spec CD-ROM problem with media change" will cause usb disk resume fail.
Date
>    [SCSI] Fix out of spec CD-ROM problem with media change
>
> Some CD-ROMs fail to report a media change correctly. The specific
> one for this patch simply fails to respond to commands, then gives a
> UNIT ATTENTION after being reset which returns ASC/ASCQ 28/00. This
> is out of spec behaviour, but add a check in the eat CC/UA on reset
> path to catch this case so the CD-ROM will function somewhat properly.
>
> [jejb: fixed up white space and accepted without signoff]
> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
>
>diff --git a/drivers/scsi/scsi_error.c b/drivers/scsi/scsi_error.c
>index a4b9cdb..dc6131e 100644
>--- a/drivers/scsi/scsi_error.c
>+++ b/drivers/scsi/scsi_error.c
>@@ -293,8 +293,16 @@ static int scsi_check_sense(struct scsi_cmnd *scmd)
> * so that we can deal with it there.
> */
> if (scmd->device->expecting_cc_ua) {
>- scmd->device->expecting_cc_ua = 0;
>- return NEEDS_RETRY;
>+ /*
>+ * Because some device does not queue unit
>+ * attentions correctly, we carefully check
>+ * additional sense code and qualifier so as
>+ * not to squash media change unit attention.
>+ */
>+ if (sshdr.asc != 0x28 || sshdr.ascq != 0x00) {
>+ scmd->device->expecting_cc_ua = 0;
>+ return NEEDS_RETRY;
>+ }
> }

Consider this scene:

1. Insert usb disk.
2. System suspend, usb controller power off.
3. System resume, usb controller power on, reset the usb disk. When read/write usb disk, it will pass up "media changed" status to scsi layer.
this time need NEEDS_RETRY cmd,but this patch filter NEEDS_RETRY cmd, block layer report "IO ERRROR".


Looking forward to your feedback.
Best regards.
Cai Zhiyong.
http://www.huawei.com



\
 
 \ /
  Last update: 2014-01-26 09:41    [W:0.037 / U:0.116 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site