]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
USB: UHCI: report non-PME wakeup signalling for Intel hardware
authorAlan Stern <stern@rowland.harvard.edu>
Fri, 21 Oct 2016 20:49:07 +0000 (16:49 -0400)
committerBjorn Helgaas <bhelgaas@google.com>
Fri, 11 Nov 2016 22:32:35 +0000 (16:32 -0600)
The UHCI controllers in Intel chipsets rely on a platform-specific non-PME
mechanism for wakeup signalling.  They can generate wakeup signals even
though they don't support PME.

We need to let the USB core know this so that it will enable runtime
suspend for UHCI controllers.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: stable@vger.kernel.org
drivers/usb/host/uhci-pci.c

index 940304c33224574439cea18d83f24b6bc763ba10..02260cfdedb135c92d219a2e5531775355973188 100644 (file)
@@ -129,6 +129,10 @@ static int uhci_pci_init(struct usb_hcd *hcd)
        if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_HP)
                uhci->wait_for_hp = 1;
 
+       /* Intel controllers use non-PME wakeup signalling */
+       if (to_pci_dev(uhci_dev(uhci))->vendor == PCI_VENDOR_ID_INTEL)
+               device_set_run_wake(uhci_dev(uhci), 1);
+
        /* Set up pointers to PCI-specific functions */
        uhci->reset_hc = uhci_pci_reset_hc;
        uhci->check_and_reset_hc = uhci_pci_check_and_reset_hc;