On Thu, 29 Oct 2009, Oliver Neukum wrote: > Hi Alan, > > we have an issue here where the hub code discards a remote wakeup. > > Regards > Oliver > > > I've been testing the new fix and with additional debug prints. > > It seems I cannot reproduce the issue but I am hitting the other known > > issue > > where remote wakeup is signaled by the device but kernel never acts on > > it. > > However now this problem is much more evident than ever before. Please > > find > > two occurrences below. > > > > --------------------- First ----------------------------- ... > > (03:37:18.964000) 340782 ****************** Signalling remote > > wakeup****************** > > > > 2009-10-29T03:37:18.345+09:00 Ubuntu kernel: [ 2158.983913] ehci_hcd > > 0000:00:1d.7: port 4 remote wakeup > > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989121] hub 7-0:1.0: > > hub_suspend > > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989135] hub 7-0:1.0: > > usb_suspend_interface: status 0 > > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989142] usb usb7: > > bus auto-suspend > > 2009-10-29T03:37:18.354+09:00 Ubuntu kernel: [ 2158.989147] ehci_hcd > > 0000:00:1d.7: suspend root hub > > > > [Hub is suspended even if remote wakeup was signalled!] Unforunately there is a race between ehci_bus_suspend() and ehci_irq(); if a remote wakeup notification arrives at the wrong time it will be ignored. I have known about this for a while but haven't done anything because it didn't seem to be particularly urgent or easy to trigger (it's a 20-ms window). The fix involves preventing the EHCI controller from generating IRQs during the suspend and checking to see if a remote wakeup signal has been received recently. I'll try to work on it during the next few days. Which kernel version is this? Alan Stern -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html