diff options
Diffstat (limited to 'drivers/usb/host/xhci-mem.c')
-rw-r--r-- | drivers/usb/host/xhci-mem.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-mem.c b/drivers/usb/host/xhci-mem.c index 36cbe2226a44..6b70e7fb484c 100644 --- a/drivers/usb/host/xhci-mem.c +++ b/drivers/usb/host/xhci-mem.c | |||
@@ -2141,7 +2141,7 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
2141 | unsigned int val, val2; | 2141 | unsigned int val, val2; |
2142 | u64 val_64; | 2142 | u64 val_64; |
2143 | struct xhci_segment *seg; | 2143 | struct xhci_segment *seg; |
2144 | u32 page_size; | 2144 | u32 page_size, temp; |
2145 | int i; | 2145 | int i; |
2146 | 2146 | ||
2147 | page_size = xhci_readl(xhci, &xhci->op_regs->page_size); | 2147 | page_size = xhci_readl(xhci, &xhci->op_regs->page_size); |
@@ -2324,6 +2324,15 @@ int xhci_mem_init(struct xhci_hcd *xhci, gfp_t flags) | |||
2324 | 2324 | ||
2325 | INIT_LIST_HEAD(&xhci->lpm_failed_devs); | 2325 | INIT_LIST_HEAD(&xhci->lpm_failed_devs); |
2326 | 2326 | ||
2327 | /* Enable USB 3.0 device notifications for function remote wake, which | ||
2328 | * is necessary for allowing USB 3.0 devices to do remote wakeup from | ||
2329 | * U3 (device suspend). | ||
2330 | */ | ||
2331 | temp = xhci_readl(xhci, &xhci->op_regs->dev_notification); | ||
2332 | temp &= ~DEV_NOTE_MASK; | ||
2333 | temp |= DEV_NOTE_FWAKE; | ||
2334 | xhci_writel(xhci, temp, &xhci->op_regs->dev_notification); | ||
2335 | |||
2327 | return 0; | 2336 | return 0; |
2328 | 2337 | ||
2329 | fail: | 2338 | fail: |