Re: [linux-usb-devel] OHCI root_port_reset() deadly loop...
|[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]|
> From: Greg KH <greg@xxxxxxxxx> > > Here's some information from Intel about where they have seen this > happen for UHCI controllers, so it's not just an OHCI issue :( > > ... > > 1) We see that the ports with low speed devices are still in EHCI mode > (port owner bit not written to in EHCI driver). In our analyzer captures > we see the reads from the Port Status & Control register and it is > indicating that there are low speed devices on the ports. Can you tell > us why the driver would not be doing the write to the port owner bit > when it sees that low speed devices are attached to that port? Is there > something specific that it looks for and decides not to do the write? It's hard to say without more info about what's going on. It might be on a non-enumeraton code path -- where nothing expects to set the OWNER bit -- or the CONNECT bit might not be set. See host/ehci-hub.c for details about exactly what the EHCI parts are doing, and core/hub.c for how it's driven. (It can be tricky to make sense of all that, easier if debugging messages are turned on. But that changes timings. Better yet would be being non-intrusive tracing of the actual code paths that the CPU follows.) > 2) In other cases we see that the ports with the low speed devices are > back in UHCI mode but the ports are disabled. In this case we see from > the analyzer traces that the UHCI driver has completed setting up the > port. It has actually enabled that port in UHCI mode. We then see the > EHCI driver comes in and it resets everything. The driver then gives > control back to the UCHI controller (by setting the port owner bit) > but...since the UHCI driver has already setup this port once it seems > that it does not go back and set it up again. In this case we do not > think that the UHCI driver has completed running when the EHCI driver > comes in and does the reset. Can you tell us if the UHCI driver was > interrupted in the middle but after the ports with the low speed devices > had been enabled would the UHCI driver ever go back and reinitialize the > ports with the low speed devices? If the UHCI driver got disconnect and reconnect notifications, I expect it would do so. At least OHCI seems *not* to have gotten such notifications. I'm speculating that the "just a switch" behavior for the CF (and OWNER) bits may not allow notifications like that to happen when the companion controllers are resetting. - Dave ------------------------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Linux-usb-users@xxxxxxxxxxxxxxxxxxxxx To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-users
[Linux USB] [Linux USB Devel] [Video for Linux] [Linux Audio Users] [Photo] [Yosemite News] [Yosemite Photos] [Video Projectors] [PDAs] [Free Online Dating] [Hacking TiVo] [Linux Kernel] [Linux SCSI] [XFree86] [Devices] [Big List of Linux Books] [16.7MP]