On Wed, 8 Sep 2004, Guido Trotter wrote:

> This is what /proc/bus/usb/devices on 2.6.7 says. If you need the 2.6.8.1 output
> too please ask and I'll boot it and read it (for now I'm stick with 2.6.7 as my
> default kernel, since my usb key is very important for me!).
> 
> T:  Bus=03 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
> D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=0ea0 ProdID=6828 Rev= 1.10
> S:  Manufacturer=USB
> S:  Product=Flash Disk
> S:  SerialNumber=39621ED83F18F609
> C:* #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=100mA
> I:  If#= 0 Alt= 0 #EPs= 3 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage
> E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=02(O) Atr=02(Bulk) MxPS=  64 Ivl=0ms
> E:  Ad=83(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

Okay.  Yes, your device is among those included in the patch.  I'll 
include the patch below so you can apply it directly.

Alan Stern


===== drivers/usb/storage/transport.c 1.145 vs edited =====
--- 1.145/drivers/usb/storage/transport.c       Tue Aug  3 10:17:59 2004
+++ edited/drivers/usb/storage/transport.c      Tue Aug 24 12:05:30 2004
@@ -1054,8 +1054,13 @@
 
        /* try to compute the actual residue, based on how much data
         * was really transferred and what the device tells us */
-       residue = min(residue, transfer_length);
-       srb->resid = max(srb->resid, (int) residue);
+       if (residue) {
+               if (!(us->flags & US_FL_IGNORE_RESIDUE) ||
+                               srb->sc_data_direction == DMA_TO_DEVICE) {
+                       residue = min(residue, transfer_length);
+                       srb->resid = max(srb->resid, (int) residue);
+               }
+       }
 
        /* based on the status code, we report good or bad */
        switch (bcs->Status) {
===== drivers/usb/storage/unusual_devs.h 1.144 vs edited =====
--- 1.144/drivers/usb/storage/unusual_devs.h    Fri Aug  6 03:59:29 2004
+++ edited/drivers/usb/storage/unusual_devs.h   Tue Aug 24 11:59:50 2004
@@ -265,6 +265,13 @@
                US_SC_8070, US_PR_BULK, NULL,
                US_FL_FIX_INQUIRY ),
 
+/* Reported by Iacopo Spalletti <[EMAIL PROTECTED]> */
+UNUSUAL_DEV(  0x052b, 0x1807, 0x0100, 0x0100,
+               "Tekom Technologies, Inc",
+               "300_CAMERA",
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               US_FL_IGNORE_RESIDUE ),
+
 /* This entry is needed because the device reports Sub=ff */
 UNUSUAL_DEV(  0x054c, 0x0010, 0x0106, 0x0450, 
                "Sony",
@@ -801,7 +808,14 @@
                "Solid state disk",
                US_SC_DEVICE, US_PR_DEVICE, NULL,
                US_FL_FIX_INQUIRY ),
-               
+
+/* Reported by Rastislav Stanik <[EMAIL PROTECTED]> */
+UNUSUAL_DEV(  0x0ea0, 0x6828, 0x0110, 0x0110,
+               "USB",
+               "Flash Disk",
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               US_FL_IGNORE_RESIDUE ),
+
 /* Reported by Kevin Cernekee <[EMAIL PROTECTED]>
  * Tested on hardware version 1.10.
  * Entry is needed only for the initializer function override.
@@ -822,6 +836,13 @@
                "EasyDisk Portable Device",
                US_SC_DEVICE, US_PR_DEVICE, NULL,
                US_FL_MODE_XLATE ),
+
+/* Reported by Kotrla Vitezslav <[EMAIL PROTECTED]> */
+UNUSUAL_DEV(  0x1370, 0x6828, 0x0110, 0x0110,
+               "SWISSBIT",
+               "Black Silver",
+               US_SC_DEVICE, US_PR_DEVICE, NULL,
+               US_FL_IGNORE_RESIDUE ),
 
 #ifdef CONFIG_USB_STORAGE_SDDR55
 UNUSUAL_DEV(  0x55aa, 0xa103, 0x0000, 0x9999, 
===== drivers/usb/storage/usb.h 1.60 vs edited =====
--- 1.60/drivers/usb/storage/usb.h      Tue Jul 20 19:30:35 2004
+++ edited/drivers/usb/storage/usb.h    Tue Aug 24 11:59:50 2004
@@ -73,6 +73,7 @@
 #define US_FL_SCM_MULT_TARG   0x00000020 /* supports multiple targets      */
 #define US_FL_FIX_INQUIRY     0x00000040 /* INQUIRY response needs faking   */
 #define US_FL_FIX_CAPACITY    0x00000080 /* READ CAPACITY response too big  */
+#define US_FL_IGNORE_RESIDUE  0x00000100 /* reported residue is wrong      */
 
 /* Dynamic flag definitions: used in set_bit() etc. */
 #define US_FLIDX_URB_ACTIVE    18  /* 0x00040000  current_urb is in use  */




-------------------------------------------------------
This SF.Net email is sponsored by BEA Weblogic Workshop
FREE Java Enterprise J2EE developer tools!
Get your free copy of BEA WebLogic Workshop 8.1 today.
http://ads.osdn.com/?ad_id=5047&alloc_id=10808&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-users

Reply via email to