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

Attachment: msg07796/pgp00000.pgp
Description: PGP signature

Reply via email to