diff mbox series

[2/2] USB: serial: mos7840: fix remote wakeup

Message ID 20191107132119.2159-2-johan@kernel.org (mailing list archive)
State Mainlined
Commit 92fe35fb9c70a00d8fbbf5bd6172c921dd9c7815
Headers show
Series [1/2] USB: serial: mos7720: fix remote wakeup | expand

Commit Message

Johan Hovold Nov. 7, 2019, 1:21 p.m. UTC
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: 3f5429746d91 ("USB: Moschip 7840 USB-Serial Driver")
Cc: stable <stable@vger.kernel.org>     # 2.6.19
Signed-off-by: Johan Hovold <johan@kernel.org>
---
 drivers/usb/serial/mos7840.c | 5 -----
 1 file changed, 5 deletions(-)

Comments

Greg KH Nov. 11, 2019, 1:28 p.m. UTC | #1
On Thu, Nov 07, 2019 at 02:21:19PM +0100, Johan Hovold wrote:
> 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: 3f5429746d91 ("USB: Moschip 7840 USB-Serial Driver")
> Cc: stable <stable@vger.kernel.org>     # 2.6.19
> Signed-off-by: Johan Hovold <johan@kernel.org>
> ---
>  drivers/usb/serial/mos7840.c | 5 -----
>  1 file changed, 5 deletions(-)
> 
> diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
> index 3eeeee38debc..ab4bf8d6d7df 100644
> --- a/drivers/usb/serial/mos7840.c
> +++ b/drivers/usb/serial/mos7840.c
> @@ -2290,11 +2290,6 @@ static int mos7840_port_probe(struct usb_serial_port *port)
>  			goto error;
>  		} else
>  			dev_dbg(&port->dev, "ZLP_REG5 Writing success status%d\n", status);
> -
> -		/* setting configuration feature to one */
> -		usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
> -				0x03, 0x00, 0x01, 0x00, NULL, 0x00,
> -				MOS_WDR_TIMEOUT);
>  	}
>  	return 0;
>  error:
> -- 
> 2.23.0

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff mbox series

Patch

diff --git a/drivers/usb/serial/mos7840.c b/drivers/usb/serial/mos7840.c
index 3eeeee38debc..ab4bf8d6d7df 100644
--- a/drivers/usb/serial/mos7840.c
+++ b/drivers/usb/serial/mos7840.c
@@ -2290,11 +2290,6 @@  static int mos7840_port_probe(struct usb_serial_port *port)
 			goto error;
 		} else
 			dev_dbg(&port->dev, "ZLP_REG5 Writing success status%d\n", status);
-
-		/* setting configuration feature to one */
-		usb_control_msg(serial->dev, usb_sndctrlpipe(serial->dev, 0),
-				0x03, 0x00, 0x01, 0x00, NULL, 0x00,
-				MOS_WDR_TIMEOUT);
 	}
 	return 0;
 error: