On Mon, 25 Jun 2007, Oliver Neukum wrote:

> > 1.1, the device is still handled by uhci_hcd.
> That indicates that something's wrong in uhci's root hub code.

Just for completness, below is what dev_dbg gives. 

This is the case which is OK - I turn the autosuspend on, let the keyboard 
suspend, wait for more than 2 seconds, hit a few keys, everything works:

Jun 25 16:36:14 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep81-INT, 
period 8, phase 4, 118 us
Jun 25 16:36:14 box kernel: usbhid 4-2:1.0: suspend
Jun 25 16:36:14 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep82-INT, 
period 8, phase 4, 118 us
Jun 25 16:36:14 box kernel: usbhid 4-2:1.1: suspend
Jun 25 16:36:14 box kernel: usb 4-2: usb auto-suspend
Jun 25 16:36:16 box kernel: hub 4-0:1.0: hub_suspend
Jun 25 16:36:16 box kernel: usb usb4: suspend_rh
Jun 25 16:36:16 box kernel: usb usb4: usb auto-suspend
Jun 25 16:36:20 box kernel: usb usb4: usb resume
Jun 25 16:36:20 box kernel: usb usb4: finish resume
Jun 25 16:36:20 box kernel: hub 4-0:1.0: hub_resume
Jun 25 16:36:20 box kernel: usb usb4: wakeup_rh
Jun 25 16:36:20 box kernel: hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0000
Jun 25 16:36:20 box kernel: uhci_hcd 0000:00:1d.2: port 2 portsc 01a5,01
Jun 25 16:36:20 box kernel: usb 4-2: usb wakeup-resume
Jun 25 16:36:20 box kernel: usb 4-2: finish resume
Jun 25 16:36:20 box kernel: uhci_hcd 0000:00:1d.2: reserve dev 6 ep81-INT, 
period 8, phase 4, 118 us
Jun 25 16:36:20 box kernel: usbhid 4-2:1.0: resume status 0
Jun 25 16:36:20 box kernel: uhci_hcd 0000:00:1d.2: reserve dev 6 ep82-INT, 
period 8, phase 4, 118 us
Jun 25 16:36:20 box kernel: usbhid 4-2:1.1: resume status 0
Jun 25 16:36:20 box kernel: hub 4-0:1.0: resume on port 2, status 0

this is the failing case (i.e. hitting the keys without waiting two 
seconds after the keyboard is suspended):

Jun 25 16:37:08 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep81-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:08 box kernel: usbhid 4-2:1.0: suspend
Jun 25 16:37:08 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep82-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:08 box kernel: usbhid 4-2:1.1: suspend
Jun 25 16:37:08 box kernel: usb 4-2: usb auto-suspend
Jun 25 16:37:09 box kernel: hub 4-0:1.0: state 7 ports 2 chg 0000 evt 0004
Jun 25 16:37:09 box kernel: uhci_hcd 0000:00:1d.2: port 2 portsc 0195,01
Jun 25 16:37:09 box kernel: usb 4-2: usb wakeup-resume
Jun 25 16:37:09 box kernel: usb 4-2: finish resume
Jun 25 16:37:09 box kernel: uhci_hcd 0000:00:1d.2: reserve dev 6 ep81-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:09 box kernel: usbhid 4-2:1.0: resume status 0
Jun 25 16:37:09 box kernel: uhci_hcd 0000:00:1d.2: reserve dev 6 ep82-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:09 box kernel: usbhid 4-2:1.1: resume status 0
Jun 25 16:37:09 box kernel: hub 4-0:1.0: resume on port 2, status 0
Jun 25 16:37:11 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep81-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:11 box kernel: usbhid 4-2:1.0: suspend
Jun 25 16:37:11 box kernel: uhci_hcd 0000:00:1d.2: release dev 6 ep82-INT, 
period 8, phase 4, 118 us
Jun 25 16:37:11 box kernel: usbhid 4-2:1.1: suspend
Jun 25 16:37:11 box kernel: usb 4-2: usb auto-suspend

i.e. when the HUB is also suspended and then woken up, everything looks 
OK, but if it is only the device, without root hub going to suspend, it 
doesn't work.

Alan, could this possibly be some race in uhci hub suspend handling (i.e. 
when the keyboard tries to resume while the root hub is trying to go to 
suspend, or something like that).

-- 
Jiri Kosina

-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to