Hi Alan, On Fri, 2011-11-18 at 11:19 -0500, Alan Stern wrote: > On Thu, 17 Nov 2011, Geoff Levand wrote: > > I don't think the frame index should stop incrementing after the second port is > > suspended, and I think the cause is the reason the ehci_quiesce handshake > > fails. > > Yes indeed. So it appears the root hub really does get stopped when > all the ports are suspended. Can you add a call to dbg_status() in > _ps3_frame_index_check()? I'd like to know if the STS_HALT bit is set. Here's the output: ps3-ehci-driver sb_06: port 1 SUSPEND ehci_hub_control:976: frame_index: ok ps3-ehci-driver sb_06: ps3_frame_index_check status 8009 Async FLR INT ehci_hub_control:1004: frame_index: ok ps3-ehci-driver sb_06: ps3_frame_index_check status 8009 Async FLR INT ps3-ehci-driver sb_06: port 2 SUSPEND ehci_hub_control:976: frame_index: ok ps3-ehci-driver sb_06: ps3_frame_index_check status 8008 Async FLR .................... ehci_hub_control:1004: frame_index: stopped ps3-ehci-driver sb_06: ps3_frame_index_check status 8008 Async FLR usb usb1: bus auto-suspend, wakeup 1 ps3-ehci-driver sb_06: suspend root hub ps3-ehci-driver sb_06: force halt; handshake d000080080020014 0000c000 00000000 -> -110 > > > Does the controller do this if only one port is suspended and the other > > > is not enabled? What if neither port is enabled? > > > > I have not tested these. > > It would be nice to know. Is there any way you can test it? If those > hubs are internal and permanently connected then I guess you can't. Do > the controllers really have only two ports? They are internal, and only two ports. The PS3 has an additional USB hub inside its case to provide 4 external ports. > > > > kernel BUG at drivers/usb/host/ehci-mem.c:74! > > > > > > This means some qh was still linked (or something similar) when it was > > > removed. I don't see how these are connected to the root hub stopping. > > > > I think it is because when the HC frame index stops incrementing the qh > > processing does not finish up, so it is still linked. > > I would expect the IAA watchdog timer to catch something like that. I'll do some more investigation into this error and give a more detailed report. -Geoff -- 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