[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [linux-usb-devel] USB glitches after suspend on ppc



On 05 Apr 2005 at 13h04, David Brownell wrote:

Hi, 

> > There are known issues with USB after suspend/resume (D3 hot) on
> > powerpc.
> 
> Also known fixes to some of them, which haven't yet been merged.
> I'll repost these as followups to this message, to linux-usb-devel
> and CC Colin.  They're in the 2.6.12-rc2-mm1 patchset.
> 
> To my understanding, such issues have been around for some time
> now, although recent kernels have tossed monkey wrenches into
> several other cases that previously worked just fine.  (Ergo those
> nyet-merged patches...)
> 
> 
> > For example, plugging or unplugging devices during sleep 
> > results in oopses at resume; and one time out of two, the USB ports
> > are unpowered on resume (because the registers think they are, and
> > linux doesn't repower them. but they're not).
> > 
> > Both of these issues have patches available, patches that can be
> > found there for example:
> > 
> > http://colino.net/ibookg4/usb-ohci-fixes.patch
> > http://colino.net/ibookg4/usb-ehci-power.patch
> > 
> > What kind of work on these is needed so that they get in?
> 
> Briefly, given 2.6.12-rc2 plus the patches mentioned above,
> find out what else is needed.
> 
>  * The first of them is Paul's patch, and I never got a
>    response to the questions I asked him about it.
> 
>      - 2.6.12-rc2 does have the fix to check for HC_STATE_QUIESCING,
>        which should supplant the need for a new "suspending" quirk.
> 
>      - And the first of those patches waiting merge does update the
>        handling of IRQs in the PCI-to-USB glue.
> 
>      - So the main change from that patch which is unresolved is
>        moving the PMAC-specific stuff up from the OHCI code into
>        into the the usb/core/hcd-pci code.  Presumably you could
>        do that?  I assume that it really is needed at that layer,
>        though it'll only relate to OHCI cells on Apple ASICs.
> 
>  * As for the second, that looks to be a hardware-specfic issue
>    that just wouldn't reproduce with the controllers I was using
>    for PM testing.  What I'll do is wrap up an equivalent fix with
>    some related EHCI updates for power switching, post that, and
>    ask you to verify that it works (probably simplest to do that
>    with OHCI non-modular and not loaded).
> 
> How's that sound?

Nice :)

Ok, here are the results of my tests with 2.6.12-rc2 and the patches
you sent me applied:

- plug USB device, sleep, unplug USB device, resume: no more oops
- sleep, plug in USB device: no oops, but it wakes the laptop up for a
few seconds; then, it goes back to sleep. No oops on second resume. I
can live with that :)

- once out of two resumes, resume leaves the ports unpowered; so I still
need my usb-ehci-power.patch that re-powers ports unconditionnaly.


-- 
Colin



Reply to: