Messages in this thread Patch in this message | | | From | Sameer Nanda <> | Subject | [PATCH] USB: ehci-pci: Check and enable wakeup capability | Date | Tue, 13 Sep 2011 16:14:21 -0700 |
| |
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@chromium.org> --- 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
| |