On Sat, 29 Apr 2006 21:54:15 +0200, [EMAIL PROTECTED] wrote:

> --- linux-2.6.16/drivers/usb/storage/scsiglue.c       2006-04-29 
> 20:59:46.000000000 +0200
> +++ linux-2.6.16patched/drivers/usb/storage/scsiglue.c        2006-04-29 
> 20:01:36.000000000 +0200
> @@ -122,6 +122,13 @@
>                       sdev->request_queue->max_sectors > 64)
>               blk_queue_max_sectors(sdev->request_queue, 64);
>  
> +     /* There are also other devices which have problems transferring 
> +      * more than 64 KB at a time. You can add an unusual_dev entry 
> +      * for those. */
> +     if ((us->flags & US_FL_MAX_SECTORS_128) &&
> +                     sdev->request_queue->max_sectors > 128)
> +             blk_queue_max_sectors(sdev->request_queue, 128);

Here's another one of those. At first look, it seems like a plain old
"ignore residue" cases:

diff -urpN -X dontdiff linux-2.6.16-rc5/drivers/usb/storage/unusual_devs.h 
linux-2.6.16-rc5-lem/drivers/usb/storage/unusual_devs.h
--- linux-2.6.16-rc5/drivers/usb/storage/unusual_devs.h 2006-02-26 
23:04:33.000000000 -0800
+++ linux-2.6.16-rc5-lem/drivers/usb/storage/unusual_devs.h     2006-02-27 
22:11:17.000000000 -0800
@@ -120,6 +120,12 @@ UNUSUAL_DEV(  0x0419, 0xaaf6, 0x0100, 0x
                US_SC_DEVICE, US_PR_DEVICE, NULL,
                US_FL_IGNORE_RESIDUE ),
 
+/* Reported by Pete Zaitcev <[EMAIL PROTECTED]>, bz#176584 */
+UNUSUAL_DEV(  0x0420, 0x0001, 0x0100, 0x0100,
+               "GENERIC", "MP3 PLAYER", /* MyMusix PD-205 on the outside. */
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               US_FL_IGNORE_RESIDUE ),
+
 /* Reported by Olaf Hering <[EMAIL PROTECTED]> from novell bug #105878 */
 UNUSUAL_DEV(  0x0424, 0x0fdc, 0x0210, 0x0210,
                "SMSC",

But if we look at usbmon traces of this, it's plainly obvious that the
residue corruption happens once we transferred more than 32KB. As long
as we only transfer less, the residue is always zero. It's very possible
that a few other cases of US_FL_IGNORE_RESIDUE are caused by this.
The device is clearly made out on OEM kit with minimal modifications.
Traces from usbmon are available here:
 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=176584

It's another case why I think 32KB is some kind of a magic size.

-- Pete


-------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to