Re: [PATCH v2] usb: core: Add runtime resume checking in choose_wakeup()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 10 Aug 2016, Baolin Wang wrote:

> Considering strict power management for mobile device, we should also power
> off the usb controller if there are no slaves attached even though it is usb
> host function, but it will meet usb device resume failure in below situation.
> 
> Suppose that no slave attached ----> usb interface runtime suspend ---->
> usb device runtime suspend -----> xhci suspend -----> power off usb controller.
> After that if the system wants to enter suspend state, then it also will issue
> usb_dev_suspend(), then the pm_runtime_resume() issued in choose_wakeup()
> function will return '-ESHUTDOWN' due to xhci has been suspend and hardware is
> not accessible.

No, this is wrong.  The pm_runtime_resume in choose_wakeup() should 
cause the xHCI controller to resume also.

> After system entering resume state, if there is slave attached ----> power on
> usb controller ----> xhci resume ----> usb device runtime resume ---->
> usb interface runtime resume. But usb device will resume failed if runtime
> errors is set ('-ESHUTDOWN'), thus we should clear the runtime errors in
> choose_wakeup() function to avoid this situation.

If the controller resumes correctly, this won't be necessary.

Alan Stern

--
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



[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux