That could be the problem... I've also been meaning to take a look at the clear_halt code in 2.4.xx -- there was a 2.5 bug where we couldn't clear endpoint halts because of a change in the core logic.
Matt
On Wed, Feb 26, 2003 at 10:03:41AM -0500, Alan Stern wrote:
> On Wed, 26 Feb 2003, Oliver Graf wrote:
>
> > Hi!
> >
> > On Thu, Feb 20, 2003 at 10:30:37PM +0100, Oliver Graf wrote:
> > > The problem: a multi device usb card reader is correctly detected with
> > > its four subdevices with kernel 2.4.19(-acX). But any patch after this
> > > fails to detect the subdevices.
> > >
> > > Verbose output with 2.4.19-ac4 shows:
> > > usb-storage: GetMaxLUN command result is 1, data is 3
> > >
> > > 2.4.21-pre4 gives:
> > > usb-storage: GetMaxLUN command result is -32, data is 128
> > > usb-storage: clearing endpoint halt for pipe 0x80000880
> > >
> > > I tried to find the parts that changed between the version, but it seems
> > > not to be rooted in usb-storage.
> > >
> > > The call to usb_control_msg seems to timeout with the newer kernel
> > > (just a wild guess!).
>
> There was a change introduced around the time of 2.4.19-acX in the
> usb_stor_Bulk_max_lun() routine, and the change had a bug in it. I don't
> know if that bug was the source of Oliver's problem, but it is certainly
> possible. Here is a patch to fix the bug.
>
> Alan Stern
>
>
> --- usb-2.4/drivers/usb/storage/transport.c.orig Wed Feb 26 09:54:43 2003
> +++ usb-2.4/drivers/usb/storage/transport.c Wed Feb 26 09:55:23 2003
> @@ -1054,7 +1054,7 @@
> US_BULK_GET_MAX_LUN,
> USB_DIR_IN | USB_TYPE_CLASS |
> USB_RECIP_INTERFACE,
> - 0, us->ifnum, data, sizeof(data), HZ);
> + 0, us->ifnum, data, sizeof(*data), HZ);
>
> US_DEBUGP("GetMaxLUN command result is %d, data is %d\n",
> result, *data);
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
DP: And judging from the scores, Stef has the sma...
T: LET'S NOT GO THERE!
-- Dust Puppy and Tanya
User Friendly, 12/11/1997
pgp00000.pgp
Description: PGP signature
