public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
From: Matthew Dharm <mdharm-scsi@one-eyed-alien.net>
To: Rogier Wolff <R.E.Wolff@BitWizard.nl>
Cc: usb-storage@lists.one-eyed-alien.net,
	linux-usb-devel@lists.sourceforge.net,
	linux-scsi@vger.kernel.org
Subject: Re: Errors on USB-storage device are ignored.
Date: Sun, 19 Aug 2007 23:09:46 -0700	[thread overview]
Message-ID: <20070820060946.GE9867@one-eyed-alien.net> (raw)
In-Reply-To: <20070816145817.GA24105@bitwizard.nl>


[-- Attachment #1.1: Type: text/plain, Size: 3027 bytes --]

Off the cuff, this really looks like something for the SCSI layer.  I'll
bet there are SCSI devices that do something similar...

And, I'm generally reluctant to modify the data to/from a device unless
usb-storage *really* has to in order to make it work....

Matt

On Thu, Aug 16, 2007 at 04:58:17PM +0200, Rogier Wolff wrote:
> 
> Hi,
> 
> I have an usb-storage enclosure that houses a normal desktop 
> harddrive. I have been wondering why disks in that enclosure 
> seemed to be  having less errors than when connected to a 
> normal IDE connector. 
> 
> The reason is: USB-storage is ignoring a hint that something is
> wrong. Probably my enclosure is also not completely following specs, 
> but Linux is ignoring the hint as well.... 
> 
> On hitting a bad block, the disk reports error. The USB converter
> then reports "auto-sense-required", and this is carried out. However
> at this point, my USB enclosure returns all-zeroes. This is
> considered non-fatal by the kernel. 
> 
> I'm guessing not many people are testing these things with 
> bad drives. So, I don't know wether or not other USB converters
> handle this situation more gracefully. 
> 
> As a patch, I've decided to set the sense key to "vendor specific"
> (9), and then no "additional sense" (0:0), if, and only if the device
> didn't return any valid sense info. 
> 
> The rest of the kernel then correctly interprets the situation
> as an IO error. 
> 
> 	Roger Wolff. 
> 
> --- linux-2.6.20.3.clean/drivers/usb/storage/transport.c	2007-03-13 19:27:08.000000000 +0100
> +++ linux-2.6.20.3.kostunrix/drivers/usb/storage/transport.c	2007-08-16 16:47:00.000000000 +0200
> @@ -629,6 +629,14 @@
>  
>  		/* let's clean up right away */
>  		memcpy(srb->sense_buffer, us->sensebuf, US_SENSE_SIZE);
> +		if (((srb->sense_buffer[2]&0xf) == 0) &&
> +		    (srb->sense_buffer[12] == 0) &&
> +		    (srb->sense_buffer[13] == 0)) {
> +			/* Hmmmmm. The device requested sense, but then
> +			   declined to give us more info.... -- REW */ 
> +			srb->sense_buffer[2] |= 0x09; /* Vendor specific */
> +		}
> +
>  		srb->resid = old_resid;
>  		srb->request_buffer = old_request_buffer;
>  		srb->request_bufflen = old_request_bufflen;
> 
> 
> 
> -- 
> ** R.E.Wolff@BitWizard.nl ** http://www.BitWizard.nl/ ** +31-15-2600998 **
> **    Delftechpark 26 2628 XH  Delft, The Netherlands. KVK: 27239233    **
> *-- BitWizard writes Linux device drivers for any device you may have! --*
> Q: It doesn't work. A: Look buddy, doesn't work is an ambiguous statement. 
> Does it sit on the couch all day? Is it unemployed? Please be specific! 
> Define 'it' and what it isn't doing. --------- Adapted from lxrbot FAQ

-- 
Matthew Dharm                              Home: mdharm-usb@one-eyed-alien.net 
Maintainer, Linux USB Mass Storage Driver

G:  Money isn't everything, A.J.
AJ: Who convinced you of that?
G:  The Chief, at my last salary review.
					-- Mike and Greg
User Friendly, 11/3/1998

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 315 bytes --]

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

[-- Attachment #3: Type: text/plain, Size: 191 bytes --]

_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

  reply	other threads:[~2007-08-20  6:09 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-08-16 14:58 Errors on USB-storage device are ignored Rogier Wolff
2007-08-20  6:09 ` Matthew Dharm [this message]
2007-08-20  8:37   ` Rogier Wolff
2007-08-20 13:03     ` James Bottomley

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070820060946.GE9867@one-eyed-alien.net \
    --to=mdharm-scsi@one-eyed-alien.net \
    --cc=R.E.Wolff@BitWizard.nl \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb-devel@lists.sourceforge.net \
    --cc=usb-storage@lists.one-eyed-alien.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox