On Tue, 30 Nov 2004, Alan Stern wrote: > It doesn't look special to me either. It means that the messages from the > uhci-hcd driver aren't reaching khubd. > > At this point, your best bet is to add lots of debugging messages to > drivers/usb/core/hcd.c, in these four routines: rh_status_urb, > rh_report_status, rh_urb_enqueue, and usb_rh_urb_dequeue. The second one, > rh_report_status, should be called 4 times per second for each USB host > controller. > > If you like, you can also add a debugging message to > drivers/usb/host/uhci-hub.c in the uhci_hub_status_data routine, which is > what rh_report_status is supposed to call. In fact, maybe it would be > best to start with debugging here, then add the other places if it turns > out that uhci_hub_status_data isn't getting called after the resume.
I did some more testing on one of my own systems, so don't bother to try the tests above. It turns out there's several problems, but basically the real issue is that the UHCI driver still doesn't support suspend/resume very well. Nor is that support fully integrated with the rest of usbcore (or even the PM core). For starters, root hub status polling doesn't stop when the controller is suspended. Next, using sysfs to suspend the controller doesn't suspend the root hub but succeeds anyway. This wouldn't happen with a regular swsusp-type suspend, but it happened to me. The next problem was that, oddly enough, the I/O-space registers on the host controller _are_ accessible even in D3hot. I thought that wasn't supposed to be possible, only configuration space was useable, but apparently it can be done. I checked several times. The problem after that occurred when khubd saw a connect change on the suspended controller and tried to resubmit its status URB. The resubmit failed, and khubd basically just gave up on the root hub. Now this sequence clearly isn't the same as what you got, but undoubtedly there are common elements. Probably your system log will show the status URB failing in resubmission at some stage, and that led to the later problems. For now, my best advice is not to suspend with uhci-hcd loaded. Once 2.6.10 is released, further development work will go into making suspend/resume more functional. Alan Stern ------------------------------------------------------- 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://productguide.itmanagersjournal.com/ _______________________________________________ [EMAIL PROTECTED] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel