Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit abf03184 authored by Alan Stern's avatar Alan Stern Committed by Greg Kroah-Hartman
Browse files

USB: fix autosuspend bug in usb-serial



This patch (as1437) fixes a bug in the usb-serial autosuspend
handling.  Since the usb-serial core now has autosuspend support, it
must set the .supports_autosuspend member in every serial driver it
registers.  Otherwise the usb_autopm_get_interface() call won't work.

This fixes Bugzilla #23012.

Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
CC: stable@kernel.org
Reported-by: default avatarKevin Smith <thirdwiggin@gmail.com>
Reported-and-tested-by: default avatarSimon Gerber <gesimu@gmail.com>
Reported-and-tested-by: default avatarMatteo Croce <matteo@openwrt.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent a85b4e7f
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -51,6 +51,7 @@ static struct usb_driver usb_serial_driver = {
	.suspend =	usb_serial_suspend,
	.resume =	usb_serial_resume,
	.no_dynamic_id = 	1,
	.supports_autosuspend =	1,
};

/* There is no MODULE_DEVICE_TABLE for usbserial.c.  Instead
@@ -1343,6 +1344,8 @@ int usb_serial_register(struct usb_serial_driver *driver)
		return -ENODEV;

	fixup_generic(driver);
	if (driver->usb_driver)
		driver->usb_driver->supports_autosuspend = 1;

	if (!driver->description)
		driver->description = driver->driver.name;