On Tuesday 18 January 2005 8:26 am, Alan Stern wrote: > > Khubd isn't doing anything. But hald sure is! > > It's trying to read /proc/bus/usb/devices, and in the process it locks > each device as it reads the information for that device. Apparently it > has worked its way up to one of the devices on your card, and it holds the > lock on that device thus blocking usb_disconnect.
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. > It's hard to tell exactly what's going on with hald, but it seems clear > that hald is waiting for ohci-hcd to do something. Presumably the reason > ohci-hcd isn't doing it is because the card is no longer accessible. This > sounds like a problem in ohci-hcd. > > Beyond that I can't help. Dave Brownell may have some ideas. 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... 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. - Dave ------------------------------------------------------- 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
