According to Alan Stern:
> Apparently on some systems the UHCI controller's interrupts are
> disabled during power management suspend/resume.  This patch will
> re-enable interrupts.  Let me know how it works.

It works ... perfectly!  I can now suspend and resume my A30 with
impunity, and the USB keyboard works fine after each resume.

Thanks much, Alan.

(Now if I could just get the alsa guys to fix snd-intel8x0...)

> --- 2.6/drivers/usb/host/uhci-hcd.c.orig      Fri Feb 20 15:04:41 2004
> +++ 2.6/drivers/usb/host/uhci-hcd.c   Sun Feb 22 15:23:59 2004
> @@ -2471,9 +2471,16 @@
>  
>       pci_set_master(to_pci_dev(uhci_dev(uhci)));
>  
> -     if (uhci->state == UHCI_SUSPENDED)
> +     if (uhci->state == UHCI_SUSPENDED) {
> +
> +             /*
> +              * Some systems clear the Interrupt Enable register during
> +              * PM suspend/resume, so reinitialize it.
> +              */
> +             outw(USBINTR_TIMEOUT | USBINTR_RESUME | USBINTR_IOC |
> +                             USBINTR_SP, uhci->io_addr + USBINTR);
>               uhci->resume_detect = 1;
> -     else {
> +     } else {
>               reset_hc(uhci);
>               start_hc(uhci);
>       }

-- 
Chip Salzenberg               - a.k.a. -               <[EMAIL PROTECTED]>
"I wanted to play hopscotch with the impenetrable mystery of existence,
    but he stepped in a wormhole and had to go in early."  // MST3K


-------------------------------------------------------
SF.Net is sponsored by: Speed Start Your Linux Apps Now.
Build and deploy apps & Web services for Linux with
a free DVD software kit from IBM. Click Now!
http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click
_______________________________________________
[EMAIL PROTECTED]
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel

Reply via email to