mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 23:24:22 -04:00
xhci-plat: Mark usb1 and usb2 devices as wakeup source
Currently usb1 and usb2 root devices are marked as wakeup capable i.e. dev->power.can_wakeup but not set as wakeup source i.e. dev->power.wakeup is NULL. When system suspend is being invoked, usb_suspend() is called from PM core context which tries to match wakeup capability with remote wakeup functionality. choose_wakeup() API gets wakeup capability using device_may_wakeup() API which return false (due to dev->power.wakeup is NULL). USB core sees this as mismatch between wakeup capability and remote wakeup functionality and resume usb1/usb2 which results into resuming USB controller (parent of those devices). Fix this issue by marking usb1 and usb2 devices as wakeup source using device_wakeup_enable() API. Change-Id: Ia858795c80f8852d696fd3c19ed442de1b3f1ac3 Signed-off-by: Mayank Rana <mrana@codeaurora.org>
This commit is contained in:
parent
6d967e6db5
commit
7297267ecb
1 changed files with 2 additions and 0 deletions
|
|
@ -330,6 +330,8 @@ static int xhci_plat_probe(struct platform_device *pdev)
|
|||
goto dealloc_usb2_hcd;
|
||||
|
||||
device_enable_async_suspend(&pdev->dev);
|
||||
device_wakeup_enable(&xhci->shared_hcd->self.root_hub->dev);
|
||||
device_wakeup_enable(&hcd->self.root_hub->dev);
|
||||
|
||||
pm_runtime_mark_last_busy(&pdev->dev);
|
||||
pm_runtime_put_autosuspend(&pdev->dev);
|
||||
|
|
|
|||
Loading…
Reference in a new issue