On Wed, 28 Sep 2005, David Brownell wrote:
> 
> You could try adding
> 
>       ohci_writel(ohci, OHCI_INTR_MIE, &ohci->regs->intrdisable);
> 
> near the end of ohci_pci_suspend().  

Give it up.

The right thing is to not free and re-aquire the damn interrupt in the 
first place. It was a MISTAKE. We undid the ACPI braindamage that made it 
be required a month ago, because sane people REALIZED it was a mistake.

It's not just "random luck" that not releasing the interrupt over suspend 
fixes the problem. The problem is _due_ to drivers releasing the 
interrupt in the first place.

IT DOESN'T MATTER what we do before the suspend, because we don't control 
the wakeup sequence. If the BIOS wakeup enables the devices again, the 
fact that we disabled them on suspend makes zero difference.

And yes, we can always "fix" things by selecting the right order to 
re-aquire the interrupts, but the thing is, the "right order" will be 
machine-dependent and in general depend on the phase of the moon and BIOS 
version, and ACPI quirks.

The _only_ sane thing to do is to not drop the interrupts in the first 
place. So that if you start getting interrupts before you expect them, you 
can still handle them.

                Linus


-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to