On Tue, Jul 16, 2002 at 11:11:33AM -0700, David Brownell wrote: > Matthew Dharm wrote: > > That's what a clean unlink looks like under EHCI? Okay, then.... > > This particular usb-storage abort problem has been seen before.
And is fixed in the 2.5 tree. But it doesn't really address the question
of why the command lingered for so long...
> > The only reason command_abort() gets called is that the command has been
> > out for over 20 seconds. For that to occur during the data phase (and
> > combined with the 'hang' at the CSW stage) means that the HCD thinks that
> > the device is NAKing.
> >
> > My -guess- is that the data toggle has been screwed up somewhere. If it's
> > not an EHCI problem, then the device is basically refusing to transfer
> > anything in. We should get status or data or _something_, but never
> > silence from the device.
>
> Yeah, data toggle problems in USB have really rude failure modes.
>
> The toggle bit is maintained by hardware (except for UHCI :), and
> the HCD never modifies that bit in the QH unless a device driver
> resets the toggle with usb_clear_halt(), usb_set_interface(), or
> usb_settoggle().
Well, none of those code paths are likely at all.... All we're doing in
that section of code is loading up bulk URBs.
Odd.
Matt
--
Matthew Dharm Home: [EMAIL PROTECTED]
Maintainer, Linux USB Mass Storage Driver
What the hell are you?
-- Pitr to Dust Puppy
User Friendly, 12/3/1997
msg07796/pgp00000.pgp
Description: PGP signature
