Okay,
I have tried to make a new patch now.
Changes :
- New flag MAX_SECTORS_128 in include/linux/usb_usual.h
- Sets max_sectors per request of queue to 128 sectors if
flag is set in drivers/usb/storage/scsiglue.c
- New device entry for unusual_dev.h with rev id 0x0103 instead of
0x0000-0x9999 and with the new flag
Benjamin
diff -urN linux-2.6.16/drivers/usb/storage/scsiglue.c
linux-2.6.16patched/drivers/usb/storage/scsiglue.c
--- 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);
+
/* We can't put these settings in slave_alloc() because that gets
* called before the device type is known. Consequently these
* settings can't be overridden via the scsi devinfo mechanism. */
diff -urN linux-2.6.16/drivers/usb/storage/unusual_devs.h
linux-2.6.16patched/drivers/usb/storage/unusual_devs.h
--- linux-2.6.16/drivers/usb/storage/unusual_devs.h 2006-04-29
20:59:46.000000000 +0200
+++ linux-2.6.16patched/drivers/usb/storage/unusual_devs.h 2006-04-29
19:43:10.000000000 +0200
@@ -1175,6 +1175,14 @@
US_SC_DEVICE, US_PR_DEVICE, NULL,
US_FL_IGNORE_RESIDUE ),
+/* Reported by Benjamin Schiller <[EMAIL PROTECTED]>
+ * It is also sold by Easylite as DJ 20 */
+UNUSUAL_DEV( 0x0ed1, 0x7636, 0x0103, 0x0103,
+ "Typhoon",
+ "My DJ 1820",
+ US_SC_DEVICE, US_PR_DEVICE, NULL,
+ US_FL_IGNORE_RESIDUE | US_FL_GO_SLOW | US_FL_MAX_SECTORS_128 ),
+
/* Reported by Michael Stattmann <[EMAIL PROTECTED]> */
UNUSUAL_DEV( 0x0fce, 0xd008, 0x0000, 0x0000,
"Sony Ericsson",
diff -urN linux-2.6.16/include/linux/usb_usual.h
linux-2.6.16patched/include/linux/usb_usual.h
--- linux-2.6.16/include/linux/usb_usual.h 2006-04-29 13:42:05.000000000
+0200
+++ linux-2.6.16patched/include/linux/usb_usual.h 2006-04-29
18:08:59.000000000 +0200
@@ -24,26 +24,28 @@
* proc_info() routine can automatically display a message for each flag.
*/
#define US_DO_ALL_FLAGS \
- US_FLAG(SINGLE_LUN, 0x00000001) \
+ US_FLAG(SINGLE_LUN, 0x00000001) \
/* allow access to only LUN 0 */ \
- US_FLAG(NEED_OVERRIDE, 0x00000002) \
+ US_FLAG(NEED_OVERRIDE, 0x00000002) \
/* unusual_devs entry is necessary */ \
- US_FLAG(SCM_MULT_TARG, 0x00000004) \
+ US_FLAG(SCM_MULT_TARG, 0x00000004) \
/* supports multiple targets */ \
- US_FLAG(FIX_INQUIRY, 0x00000008) \
+ US_FLAG(FIX_INQUIRY, 0x00000008) \
/* INQUIRY response needs faking */ \
- US_FLAG(FIX_CAPACITY, 0x00000010) \
+ US_FLAG(FIX_CAPACITY, 0x00000010) \
/* READ CAPACITY response too big */ \
- US_FLAG(IGNORE_RESIDUE, 0x00000020) \
+ US_FLAG(IGNORE_RESIDUE, 0x00000020) \
/* reported residue is wrong */ \
- US_FLAG(BULK32, 0x00000040) \
+ US_FLAG(BULK32, 0x00000040) \
/* Uses 32-byte CBW length */ \
- US_FLAG(NOT_LOCKABLE, 0x00000080) \
+ US_FLAG(NOT_LOCKABLE, 0x00000080) \
/* PREVENT/ALLOW not supported */ \
- US_FLAG(GO_SLOW, 0x00000100) \
+ US_FLAG(GO_SLOW, 0x00000100) \
/* Need delay after Command phase */ \
- US_FLAG(NO_WP_DETECT, 0x00000200) \
+ US_FLAG(NO_WP_DETECT, 0x00000200) \
/* Don't check for write-protect */ \
+ US_FLAG(MAX_SECTORS_128, 0x00000400) \
+ /* Sets max_sectors to 128 */
#define US_FLAG(name, value) US_FL_##name = value ,
enum { US_DO_ALL_FLAGS };
-------------------------------------------------------
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