Re: long-term regression with some usb mass storage devices

From: Mike Lampard
Date: Fri Feb 20 2009 - 10:42:23 EST


On Sat, 21 Feb 2009 01:45:37 am Alan Stern wrote:
> On Fri, 20 Feb 2009, Mike Lampard wrote:
> > On Fri, 20 Feb 2009 05:17:42 pm Mike Lampard wrote:
> > > Hi All,
> > >
> > > I recently plonked a dvd into my usb-attached Pioneer DVR-107d only to
> > > find that the current kernels no longer saw the drive as DVD capable.
> > > In fact, the kernel no longer saw _any_ features of the drive: sr0:
> > > scsi3-mmc drive: 0x/0x caddy. After much bisecting and even more blind
> > > luck I narrowed the problem down to this commit:
> > >
> > > commit bdb2b8cab4392ce41ddfbd6773a3da3334daf836
> > > Author: Alan Stern <stern@xxxxxxxxxxxxxxxxxxx>
> > > Date: Tue Jun 24 14:03:14 2008 -0400
> > >
> > > [SCSI] erase invalid data returned by device
> > >
> > > This patch (as1108) fixes a problem that can occur with certain USB
> > > mass-storage devices: They return invalid data together with a
> > > residue indicating that the data should be ignored. Rather than leave
> > > the invalid data in a transfer buffer, where it can get misinterpreted,
> > > the patch clears the invalid portion of the buffer.
> > >
> > > This solves a problem (wrong write-protect setting detected)
> > > reported by Maciej Rutecki and Peter Teoh.
>
> If this affected your device then the device must not report residues
> correctly. If you provide the device's entry in /proc/bus/usb/devices,
> I'll write a patch adding a blacklist entry for it.

Many thanks.

> It would help if you could also provide a usbmon trace showing what
> happens when you plug the drive in. Instructions are in the kernel
> source file Documentation/usb/usbmon.txt.

/proc/bus/usb/devices:
T: Bus=01 Lev=01 Prnt=01 Port=06 Cnt=01 Dev#= 3 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=05e3 ProdID=0701 Rev= 0.02
S: Manufacturer=Genesyslogic
S: Product=USB Mass Storage Device
C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr= 96mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us

I'll email the usbmod log directly, to save spamming the list with a 100kb
attachment.

Mike
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/