This is a port of the corresponding change from the qcserial.c driver distributed as part of the 9X50 SDK, tested using author's own EM7565 device. Signed-off-by: Ivan Shapovalov <intelfx@xxxxxxxxxxxx> --- drivers/usb/serial/qcserial.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c index f1b0ef9935bb..b2ae0b16bc2b 100644 --- a/drivers/usb/serial/qcserial.c +++ b/drivers/usb/serial/qcserial.c @@ -257,6 +257,7 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) { struct usb_host_interface *intf = serial->interface->cur_altsetting; struct device *dev = &serial->dev->dev; + struct usb_device *usb_dev = serial->dev; int retval = -ENODEV; __u8 nintf; __u8 ifnum; @@ -289,6 +290,9 @@ static int qcprobe(struct usb_serial *serial, const struct usb_device_id *id) retval = 0; /* Success */ else altsetting = 1; + + /* disable USB SS for QDL */ + usb_disable_autosuspend(usb_dev); } goto done; -- 2.47.0.5.gd823fa0eac