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

From: David Brownell
Date: Tue Apr 05 2005 - 16:03:24 EST


On Tuesday 05 April 2005 11:44 am, Colin Leroy 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?

- Dave
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/