Message ID | 20191107132119.2159-1-johan@kernel.org (mailing list archive) |
---|---|
State | Mainlined |
Commit | ea422312a462696093b5db59d294439796cba4ad |
Headers | show |
Series | [1/2] USB: serial: mos7720: fix remote wakeup | expand |
On Thu, Nov 07, 2019 at 02:21:18PM +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: 0f64478cbc7a ("USB: add USB serial mos7720 driver") > Cc: stable <stable@vger.kernel.org> # 2.6.19 > Signed-off-by: Johan Hovold <johan@kernel.org> > --- > drivers/usb/serial/mos7720.c | 4 ---- > 1 file changed, 4 deletions(-) > > diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c > index 18110225d506..2ec4eeacebc7 100644 > --- a/drivers/usb/serial/mos7720.c > +++ b/drivers/usb/serial/mos7720.c > @@ -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; > Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/usb/serial/mos7720.c b/drivers/usb/serial/mos7720.c index 18110225d506..2ec4eeacebc7 100644 --- a/drivers/usb/serial/mos7720.c +++ b/drivers/usb/serial/mos7720.c @@ -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;
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 Signed-off-by: Johan Hovold <johan@kernel.org> --- drivers/usb/serial/mos7720.c | 4 ---- 1 file changed, 4 deletions(-)