Re: [linux-usb-devel] Re: 2.6.13-mm2

Daniel Ritz
2005-09-28T22:32:43Z

On Thursday 29 September 2005 00.04, David Brownell wrote:
> > > My other point still stands though. The IRQ for all HCDs _are_ freed
> > > on suspend, and re-requested on resume ... so lack of such free/request
> > > calls can't possibly be an issue.
> >
> > Yes it can. Apparently on my box the call to request_irq() from a USB HCD
> > driver (OHCI or EHCI) causes a screaming interrupt to be generated,
> > which kills any other driver that shares the IRQ with the USB and has not
> > called free_irq() on suspend.
>
> So it's as I said: _lack_ of such calls can't be an issue.

yep, but doing the free_irq() on suspend can be. and is in some cases.

>
> So _which_ device is generating this IRQ??

USB ohci controller having no handler. yenta shares the line, has the
correct handler installer, sees the interrupt, does not handle it since
it was not the cardbus bridge generating the interrupt but ohci.
nobody cares about the interrupt, nobody tells the hardware to stop.
hello interrupt storm. and during reesume...boom.

and yes, doing the free_irq() in yenta works _around_ the problem but
breaks resume with APM where the BIOS is getting in the way. we had
that change, it was a regression (for Hugh), Linus backed it out.

nice reading:
http://marc.theaimsgroup.com/?t=112275164900002&r=1&w=4

>
>
> > Of course this only happens with the patch
> > at http://www.ussg.iu.edu/hypermail/linux/kernel/0507.3/2234.html
> > unapplied, as it masks the problem.
>
> Hmm, an ACPI patch. With tabs completely trashed; that
> mail archive needs to learn about ...</pre. :(
>
>
> > Actually it also depends on the
> > order in which the drivers' resume routines are called, but unfortunately
> > on my box the USB drivers' are called first.
>
> Suggesting that the issue comes from the non-USB driver
> sharing that IRQ line...

nope, other way around.

>
> - Dave
>

btw. i'm still suggesting not doing that free_irq() thing in suspend, at
least not short-term. i was thinking that it is a good idea in the beginning,
but Linus changed my mind...[ patch for usb ready ]

rgds
-daniel