If the PORTWAK register is implemented and at least one of the physical ports is enabled for wakeup, enable wakeup for the ehci-pci device. Signed-off-by: Sameer Nanda <snanda@xxxxxxxxxxxx> --- drivers/usb/host/ehci-pci.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/usb/host/ehci-pci.c b/drivers/usb/host/ehci-pci.c index 1102ce6..ce6f784 100644 --- a/drivers/usb/host/ehci-pci.c +++ b/drivers/usb/host/ehci-pci.c @@ -285,6 +285,16 @@ static int ehci_pci_setup(struct usb_hcd *hcd) dev_warn(&pdev->dev, "Enabling legacy PCI PM\n"); device_set_wakeup_capable(&pdev->dev, 1); } + } else { + u16 port_wake; + + pci_read_config_word(pdev, 0x62, &port_wake); + + /* If PORTWAK register is implemented and at least one USB + * port is enabled for wakeup, enable wakeup. + */ + if (port_wake & 0x0001 && port_wake & 0xfffe) + device_set_wakeup_enable(&pdev->dev, 1); } #ifdef CONFIG_USB_SUSPEND -- 1.7.3.1 -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html