On Tue, 18 Jan 2005, David Brownell wrote:

> This sounds like that deadlock we were getting a lot back when the
> locking inside usbcore got completely overhauled.  If there weren't
> any messages from the HCD indicating that it saw the disconnect,
> that could be more likely.

No, it's clear from the stack trace Matthias posted that the hang occurs 
in the middle of disconnect processing (disconnecting the root hub, in 
fact).

> The way OHCI classically handled a cardbus unplug was detecting it
> in the IRQ handler, marking the HC as dead, and cleaning up by
> killing all pending URBs.  That was how 2.4 did it, anyway.
> 
> The cleanup logic -- hc_died() and friends -- isn't working lately.
> That's in usbcore now, since it's logic that all HCDs need to have.
> One symptom of the cleanup failing would be URBs never returning...

This definitely could be the problem.  Among other things, hc_died hasn't 
gotten much testing because it hardly ever gets called except for 
removable host controllers.

> It's possible that some PCMCIA changes affected this too.  I seem
> to recall thinking that the cardbus/pcmcia logic should have been
> notifying the OHCI code about the disconnect before the IRQ logic
> saw it ... and I wouldn't swear that things would behave quite
> right if someone _did_ fix that problem.  (Though in that case
> it'd be more equivalent to "rmmod ohci-hcd" with live devices.)
> 
> I don't have working cardbus OHCI any more (sigh), so I couldn't
> fix that even if I had time.

Matthias, simply turning off hald ought to solve your problem, at least in 
the short term.

Alan Stern



-------------------------------------------------------
The SF.Net email is sponsored by: Beat the post-holiday blues
Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek.
It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt
_______________________________________________
[email protected]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to