My enclosure seems to work stable with 2.6.21.5
For the time being I didn't try Ubuntu with this kernel, but all the distros
seem to carry this bug. Then recent SLAX 6 works fine with the default
max_sectors.
It may have to do with the following change in kernel:
* Add stable release 2.6.21.5:
- USB: set the correct Interrupt interval in usb_bulk_msg
>From [EMAIL PROTECTED] Mon Apr 23 14:30:35 2007
From: Alan Stern <[EMAIL PROTECTED]>
Date: Mon, 23 Apr 2007 17:30:32 -0400 (EDT)
Subject: USB: set the correct Interrupt interval in usb_bulk_msg
To: Greg Kroah-Hartman <[EMAIL PROTECTED]>
Cc: USB development list <[EMAIL PROTECTED]>
Message-ID: <[EMAIL PROTECTED]>
This patch (as902) fixes a mistake I introduced into usb_bulk_msg().
usb_fill_int_urb() already does the bit-shifting calculation for
high-speed Interrupt intervals; it shouldn't be done twice.
Signed-off-by: Alan Stern <[EMAIL PROTECTED]>
---
drivers/usb/core/message.c | 9 ++-------
1 file changed, 2 insertions(+), 7 deletions(-)
--- a/drivers/usb/core/message.c
+++ b/drivers/usb/core/message.c
@@ -221,15 +221,10 @@ int usb_bulk_msg(struct usb_device *usb_
if ((ep->desc.bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
USB_ENDPOINT_XFER_INT) {
- int interval;
-
- if (usb_dev->speed == USB_SPEED_HIGH)
- interval = 1 << min(15, ep->desc.bInterval - 1);
- else
- interval = ep->desc.bInterval;
pipe = (pipe & ~(3 << 30)) | (PIPE_INTERRUPT << 30);
usb_fill_int_urb(urb, usb_dev, pipe, data, len,
- usb_api_blocking_completion, NULL, interval);
+ usb_api_blocking_completion, NULL,
+ ep->desc.bInterval);
} else
usb_fill_bulk_urb(urb, usb_dev, pipe, data, len,
usb_api_blocking_completion, NULL)
I'll give it a try with 2.6.20 from Feisty.
--
USB mass storage stops working after a while
https://bugs.launchpad.net/bugs/61235
You received this bug notification because you are a member of Ubuntu
Bugs, which is the bug contact for Ubuntu.
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs