Daniel:

Try using this patch.  It reduces the length of the failing request from 
128 bytes to 11 bytes; that might make a significant difference.

Let me know how it works out.  And if you still get an error, be sure to 
send another debugging log.

Alan Stern


===== sd.c 1.52 vs edited =====
--- 1.52/drivers/scsi/sd.c      Tue Jul  1 17:54:19 2003
+++ edited/drivers/scsi/sd.c    Tue Jul 29 10:44:21 2003
@@ -1124,7 +1124,7 @@
                   struct scsi_request *SRpnt, unsigned char *buffer) {
        int len = 0, res;
 
-       const int dbd = 0;         /* DBD */
+       const int dbd = 0x08;      /* DBD */
        const int modepage = 0x08; /* current values, cache page */
        struct scsi_mode_data data;
 
@@ -1134,11 +1134,12 @@
 
        if (scsi_status_is_good(res)) {
                /* that went OK, now ask for the proper length */
-               len = data.length;
-               if (len > 128)
-                       len = 128;
-               res = sd_do_mode_sense(SRpnt, dbd, modepage, buffer,
+               len = data.header_length + data.block_descriptor_length + 3;
+               if (len <= 512)
+                       res = sd_do_mode_sense(SRpnt, dbd, modepage, buffer,
                                       len, &data);
+               else
+                       res = SAM_STAT_BUSY;
        }
 
        if (scsi_status_is_good(res)) {



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to