]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/host/ehci-pci.c
Merge branches 'x86/asm', 'x86/cleanups' and 'x86/headers' into x86/core
[linux-2.6-omap-h63xx.git] / drivers / usb / host / ehci-pci.c
index 36864f9584445a41cf8bea70155c50b76f888cc2..abb9a7706ec7c370dd0835db9d04b0e3f1abc6b8 100644 (file)
@@ -219,15 +219,19 @@ static int ehci_pci_setup(struct usb_hcd *hcd)
        /* Serial Bus Release Number is at PCI 0x60 offset */
        pci_read_config_byte(pdev, 0x60, &ehci->sbrn);
 
-       /* Workaround current PCI init glitch:  wakeup bits aren't
-        * being set from PCI PM capability.
+       /* Keep this around for a while just in case some EHCI
+        * implementation uses legacy PCI PM support.  This test
+        * can be removed on 17 Dec 2009 if the dev_warn() hasn't
+        * been triggered by then.
         */
        if (!device_can_wakeup(&pdev->dev)) {
                u16     port_wake;
 
                pci_read_config_word(pdev, 0x62, &port_wake);
-               if (port_wake & 0x0001)
-                       device_init_wakeup(&pdev->dev, 1);
+               if (port_wake & 0x0001) {
+                       dev_warn(&pdev->dev, "Enabling legacy PCI PM\n");
+                       device_set_wakeup_capable(&pdev->dev, 1);
+               }
        }
 
 #ifdef CONFIG_USB_SUSPEND