]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
USB: serial: mos7720: fix remote wakeup
authorJohan Hovold <johan@kernel.org>
Thu, 7 Nov 2019 13:21:18 +0000 (14:21 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sun, 1 Dec 2019 08:17:43 +0000 (09:17 +0100)
commit ea422312a462696093b5db59d294439796cba4ad upstream.

The driver was setting the device remote-wakeup feature during probe in
violation of the USB specification (which says it should only be set
just prior to suspending the device). This could potentially waste
power during suspend as well as lead to spurious wakeups.

Note that USB core would clear the remote-wakeup feature at first
resume.

Fixes: 0f64478cbc7a ("USB: add USB serial mos7720 driver")
Cc: stable <stable@vger.kernel.org> # 2.6.19
Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/serial/mos7720.c

index e8f275a0326df0055a316eea2cb090e1e3de03f6..c0232b67a40f4b975d46931b05377c4dbdea9e3e 100644 (file)
@@ -1894,10 +1894,6 @@ static int mos7720_startup(struct usb_serial *serial)
        product = le16_to_cpu(serial->dev->descriptor.idProduct);
        dev = serial->dev;
 
-       /* setting configuration feature to one */
-       usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
-                       (__u8)0x03, 0x00, 0x01, 0x00, NULL, 0x00, 5000);
-
        if (product == MOSCHIP_DEVICE_ID_7715) {
                struct urb *urb = serial->port[0]->interrupt_in_urb;