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