Re: ehci and ppc440 : Reset error ?
David Brownell <[email protected]>
| Newsgroups | gmane.linux.usb.devel |
|---|---|
| Message-ID | <[email protected]> |
Try adding a call to ehci_halt() near the end of ehci_stop() ... like, right before ehci_mem_cleanup(). Looks like the controller is wrongly left running (bug #1), and the PPC SOC glue's reset() method doesn't properly force the chip into a known set before starting it (bug #2). Re #2, ehci_pci_setup() is the reference ... in addition to some quirk handling it does this: - ehci_halt() - ehci_init() - intializes ehci->sbrn - powers ports down But the PPC SOC glue only does ehci_init(). The way that driver comes up claiming to support "USB 0.0" should have been a clue to *someone* that this bus glue was wrong; the right value comes from SBRN. The lack of ehci_halt() is the cause of bug #2 above. Leaving ports powered up may not matter, but on the other hand it can also cause confusion to devices connected at driver startup. I think you should try to develop two patches here. The simple one would just update ehci_stop() and fix bug #1. The slightly more involved one would provide a proper reset() method in the PPC SOC bus glue. Either patch alone ought to make this symptom go away, but both issues should get resolved. - 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/ _______________________________________________ [email protected] To unsubscribe, use the last form field at: https://lists.sourceforge.net/lists/listinfo/linux-usb-devel