On Tue, Dec 12, 2006 at 11:27:42AM -0500, Alan Stern wrote: > > from today confirms it, and I also ran the pre-autosuspend kernel ( its head > > is 8c03356a559ced6fa78931f498193f776d67e445 ) to re-check that it is an > > issue > > which appeared with the autosuspend patch. > > Okay, I was fooled by the lack of debugging info. And clearly the suspend > or resume routine is implicated. > > This suggests we check the value of the intr_enable register at the entry > and exit of both ehci_bus_suspend() and ehci_bus_resume() in ehci_hub.c. > You can add the appropriate printk statements easily. > > Hmmm... Perhaps the final writel() at the end of ehci_bus_resume() isn't > getting sent through. The mere act of reading it back might be enough to > change the behavior. > > On the other hand, your latest log suggests that the STS_FLR bit gets set > during the ehci_bus_suspend() routine, not the resume routine. So it will > be best to check at the beginning and end of both routines.
Unfortunately, it doesn't get set anywhere then, but outside: case A: http://userweb.kernel.org/~brodo/dmesg-autosuspend-3-sr.txt [ 26.380849] ehci_bus_resume: intro 37 [ 26.380852] ehci_hcd 0000:00:1d.7: resume root hub [ 26.400866] ehci_bus_resume: exit 37 (mask was 37) [ 26.411590] hub 1-0:1.0: state 7 ports 6 chg 0000 evt 0000 [ 26.411679] usb 1-1: usb auto-resume [ 26.437439] ehci_hcd 0000:00:1d.7: GetStatus port 1 status 001005 POWER sig=se0 PE CONNECT [ 26.448389] usb 1-1: finish resume [ 26.448681] ehci_hcd 0000:00:1d.7: IRQ status 8009, intr_enable 37 ... [ 26.453427] ehci_hcd 0000:00:1d.7: IRQ status 8028, intr_enable 37 ... [ 28.900407] ACPI: CPU0 (power states: C1[C1] C2[C2] C3[C3]) [ 28.900419] ACPI: Processor [CPU0] (supports 8 throttling states) [ 17.451000] Time: acpi_pm clocksource has been installed. [ 17.545000] acpi_processor-0740 [00] processor_preregister_: Error while parsing _PSD domain information. Assuming no coordination [ 17.546000] ehci_hcd 0000:00:1d.7: IRQ status 2008, intr_enable 3f All of a sudden, it seems... Case B: http://userweb.kernel.org/~brodo/dmesg-autosuspend-2-sr.txt [ 15.582559] ehci_hcd 0000:00:1d.7: IRQ status 4, intr_enable 37 [ 16.327713] libata version 2.00 loaded. [ 17.575888] hub 1-0:1.0: hub_suspend [ 17.575896] ehci_bus_suspend: intro 37 [ 17.576013] ehci_bus_suspend: exit 37 (mask was 37) [ 17.576620] usb usb1: usb auto-suspend ... [ 22.312792] ehci_hcd 0000:00:1d.7: IRQ status 8, intr_enable 3f For Case B, it seems to happen while the hub is suspended; while for Case A, it seems to happen while the hub is resumed. It just gets more and more strange. Broken hardware?[*] Thanks, Dominik [*] ... which otherwise seems to work fine... ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ linux-usb-devel@lists.sourceforge.net To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel