David: The UHCI driver clearly has a problem with its reset/start/suspend/resume/stop functions. I'm not sure how to fix it because it's not clear exactly what the callbacks are supposed to accomplish and the contexts in which they are called (most especially whether they are allowed to block). The comments in core/hcd.h are very terse.
A couple of additional questions suggest themselves. First, what should happen if a wakeup/resume signal on the USB bus is detected before the suspend routine returns? Second, the Intel UHCI controllers have an erratum which causes them to present spurious resume-detect signals if a port's over-current input is active. (This is not just a theoretical problem; some manufacturers don't wire up all of the ports to connectors and then try to disable the unconnected ports by permanently tying the over-current inputs on.) When this happens the driver makes the conservative choice and does not allow suspends at all -- it will shutdown but not suspend. How should the PM callbacks behave in that situation? Alan Stern ------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel