Commit bdd405d2 authored by Roger Quadros's avatar Roger Quadros Committed by Greg Kroah-Hartman

usb: hub: Prevent hub autosuspend if usbcore.autosuspend is -1

If user specifies that USB autosuspend must be disabled by module
parameter "usbcore.autosuspend=-1" then we must prevent
autosuspend of USB hub devices as well.

commit 596d789a introduced in v3.8 changed the original behaivour
and stopped respecting the usbcore.autosuspend parameter for hubs.

Fixes: 596d789a "USB: set hub's default autosuspend delay as 0"

Cc: [3.8+] <stable@vger.kernel.org>
Signed-off-by: default avatarRoger Quadros <rogerq@ti.com>
Tested-by: default avatarMichael Welling <mwelling@emacinc.com>
Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 5b6b80ae
...@@ -1728,8 +1728,12 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id) ...@@ -1728,8 +1728,12 @@ static int hub_probe(struct usb_interface *intf, const struct usb_device_id *id)
* - Change autosuspend delay of hub can avoid unnecessary auto * - Change autosuspend delay of hub can avoid unnecessary auto
* suspend timer for hub, also may decrease power consumption * suspend timer for hub, also may decrease power consumption
* of USB bus. * of USB bus.
*
* - If user has indicated to prevent autosuspend by passing
* usbcore.autosuspend = -1 then keep autosuspend disabled.
*/ */
pm_runtime_set_autosuspend_delay(&hdev->dev, 0); if (hdev->dev.power.autosuspend_delay >= 0)
pm_runtime_set_autosuspend_delay(&hdev->dev, 0);
/* /*
* Hubs have proper suspend/resume support, except for root hubs * Hubs have proper suspend/resume support, except for root hubs
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment