]> 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>
Fri, 29 Nov 2019 09:08:27 +0000 (10:08 +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 18110225d50606abaefe2e0c90490ffff0888f41..2ec4eeacebc76611e2982269ea87fee7d2922b05 100644 (file)
@@ -1833,10 +1833,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;