On Fri, 16 Jan 2004, Mike Anderson wrote:

> Alan Stern [EMAIL PROTECTED] wrote:
> > 
> > Seeing no sense key, usb-storage returns 0 indicating the command
> > succeeded.  But scsi_finish_command() sees that valid sense data is
> > present and sets the driver_byte to DRIVER_SENSE.
> > 
> > > SCSI error : <1 0 0 0> return code = 0x8000000
> > > Current sda: sense key No Sense
> > 
> > This causes scsi_io_completion() to call scsi_end_request() with uptodate 
> > = 0 and results in this error:
> > 
> > > end_request: I/O error, dev sda, sector 32
> > > FAT: unable to read boot sector
> > 
> > How should we handle this?  Should we zero out sense_buffer[0] when 
> > auto-sense shows sense key = NO_SENSE?
> > 
> 
> I would think the upper level driver should handle this. We decode
> RECOVERED_ERROR in sd. sd could just handle NO_SENSE the same with /
> without the print_sense. I noticed that st and osst under some
> circumstances look at the NO_SENSE case (the tape people will need to
> comment as this looks like a EOM workaround) so it would seem incorrect
> for the LLDD as a general policy to say it received no sense when it
> did.

Florian and Alexander, does this patch fix your problem?  Mike, how does 
it look to you?

Alan Stern


===== sd.c 1.59 vs edited =====
--- 1.59/drivers/scsi/sd.c      Fri Oct 24 14:53:37 2003
+++ edited/drivers/scsi/sd.c    Fri Jan 16 15:49:48 2004
@@ -730,6 +730,14 @@
                         * hard error.
                         */
                        print_sense("sd", SCpnt);
+                       /* FALLS THROUGH */
+
+               case NO_SENSE:
+                       /*
+                        * The low-level driver got the sense data but
+                        * everything was all right.  Don't treat this
+                        * an an error.
+                        */
                        SCpnt->result = 0;
                        SCpnt->sense_buffer[0] = 0x0;
                        good_sectors = this_count;



-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to