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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.