[Cbe-oss-dev] [PATCH 5/5] usb: PS3 EHCI HC reset work-around

Geoff Levand geoff at infradead.org
Fri Nov 18 13:26:31 EST 2011


Hi,

On Tue, 2011-11-15 at 12:12 -0500, Alan Stern wrote:
> The HC gets reset during initialization, and you can reload the 
> registers then.  It also gets reset when the driver unbinds or the HC 
> dies; it doesn't matter what happens to the registers at those times.
> 
> The only other place where ehci_reset() gets called is at the start of
> ehci_run() -- not where your 4/5 patch added a hook.  As far as I can
> tell, that call isn't necessary at all.  We just have to audit the
> various platform drivers to make sure they all call ehci_reset() at
> some appropriate point during their probe routine.
> 
> Therefore the 4/5 patch should merely remove the ehci_reset() call near
> the start of ehci_run(), and this patch should merge the
> ps3_ehci_post_reset code at the end of ps3_ehci_hc_reset() instead of
> installing a hook.

I've made the two preliminary (untested on non-ps3) patches following
that I think do what you suggest.  

As I'm not familiar with it, I'm not sure what to about devices with TDI
(Transaction Translator) support.  Will they just work like this, or do
we need to add a conditional on the ehci_reset()?

-Geoff




More information about the cbe-oss-dev mailing list