On Tuesday 08 February 2005 1:13 am, [EMAIL PROTECTED] wrote: > David Brownell <[EMAIL PROTECTED]> said: > > > On Wednesday 02 February 2005 5:35 am, [EMAIL PROTECTED] wrote: > > > > > > Hi, > > > It seems that under some conditions when a usb device is physically > > > disconnected and there are some pending urbs ehci_endpoint_disable > > > can loop forever in state QH_STATE_UNLINK. > > > > Hmm, that might explain some rare and intermittent problem reports. > > > > I am now running 2.6.11-rc3 with debugging enabled and I trigger the > BUG() at line 994 of ehci-q.c in start_unlink_async.
I see what's going on, though your patch is reversed ... :) But, rather than just logging a KERN_CRIT error, the better fix would be to just do what ehci-hcd.c::unlink_async() does and stick that QH at the end of the reclaim queue, in QH_STATE_UNLINK_WAIT. In fact, can you try just calling unlink_async() there, to see if that behaves? Instead of start_unlink_async(). If that works, I'd like to see if this could still get into 2.6.11 ... > BTW it's not so good that the register dump and traceback don't fit on > a 80x25 terminal any more. It took some time and hacking in traps.c > to just print out the first lines of the panic message. No kidding. Maybe you can whip up a patch to make the excess verbiage become optional; I suspect a kernel command line parameter wouldn't be too offensive. What I end up doing in such cases is all too often either hooking up a serial console (may not always be practical!), or switching to an fb console with LOTS of lines (ditto), or just hacking traps.c much like you must have done. - Dave ------------------------------------------------------- SF email is sponsored by - The IT Product Guide Read honest & candid reviews on hundreds of IT Products from real users. Discover which products truly live up to the hype. Start reading now. http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel
