USB: serial: ch341: fix resume after reset
PATCH 1/1 USB: serial: ch341: fix resume after reset
commit ce5e292828117d1b71cbd3edf9e9137cf31acd30 upstream.
Fix reset-resume handling which failed to resubmit the read and interrupt URBs, thereby leaving a port that was open before suspend in a broken state until closed and reopened.
resume")
---
This is a backport of ce5e29282811 ("USB: serial: ch341: fix resume after reset") to 4.4 stable.
Note that current version of this patch in the stable queue will fail to compile as it depends on patch that went into 4.7.
This patch should replace the one currently in the 4.4 stable queue.
Johan
drivers/usb/serial/ch341.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-)
drivers/usb/serial/ch341.c +13 -4
@@ -544,14 +544,23 @@ static int ch341_tiocmget(struct tty_struct *tty)static int ch341_reset_resume (struct usb_serial *serial) { -struct ch341_private *priv; - - priv =usb_get_serial_port_data (serial->port[0 ]); +struct usb_serial_port *port = serial->port[0 ]; +struct ch341_private *priv =usb_get_serial_port_data (port); +int ret;/* reconfigure ch341 serial port after bus-reset */ ch341_configure (serial->dev, priv); -return 0 ; +if (test_bit (ASYNCB_INITIALIZED , &port->port.flags)) { + ret =usb_submit_urb (port->interrupt_in_urb,GFP_NOIO ); +if (ret) { +dev_err (&port->dev,"failed to submit interrupt urb: %d\n" , + ret); +return ret; + } + } + +return usb_serial_generic_resume (serial); }static struct usb_serial_driver ch341_device = {
Signature · 1 line
2.10.2
Greg Kroah-Hartman
maintainerQuoted 13 lines · Johan Hovold
commit
ce5e292828117d1b71cbd3edf9e9137cf31acd30upstream.Fix reset-resume handling which failed to resubmit the read and interrupt URBs, thereby leaving a port that was open before suspend in a broken state until closed and reopened.
Fixes 1ded7ea47b88 ("USB: ch341 serial: fix port number changed afterresume")
Fixes 2bfd1c96a9fb ("USB: serial: ch341: remove reset_resume callback")Cc stable <[email protected]>Signed-off-by Johan Hovold <[email protected]>---
Quoted 7 lines
This is a backport of
ce5e29282811("USB: serial: ch341: fix resume after reset") to 4.4 stable.Note that current version of this patch in the stable queue will fail to compile as it depends on patch that went into 4.7.
This patch should replace the one currently in the 4.4 stable queue.
Thanks for this, now applied.
greg k-h