This is a note to let you know that I've just added the patch titled
USB: metro-usb: fix io after disconnect
to the 3.6-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-metro-usb-fix-io-after-disconnect.patch
and it can be found in the queue-3.6 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <[email protected]> know about it.
>From 2ee44fbeac92c36e53779a57ee84cfee1affe418 Mon Sep 17 00:00:00 2001
From: Johan Hovold <[email protected]>
Date: Thu, 25 Oct 2012 10:29:00 +0200
Subject: USB: metro-usb: fix io after disconnect
From: Johan Hovold <[email protected]>
commit 2ee44fbeac92c36e53779a57ee84cfee1affe418 upstream.
Make sure no control urb is submitted during close after a disconnect by
checking the disconnected flag.
Signed-off-by: Johan Hovold <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
---
drivers/usb/serial/metro-usb.c | 13 +++++--------
1 file changed, 5 insertions(+), 8 deletions(-)
--- a/drivers/usb/serial/metro-usb.c
+++ b/drivers/usb/serial/metro-usb.c
@@ -188,16 +188,13 @@ static void metrousb_cleanup(struct usb_
{
dev_dbg(&port->dev, "%s\n", __func__);
- if (port->serial->dev) {
- /* Shutdown any interrupt in urbs. */
- if (port->interrupt_in_urb) {
- usb_unlink_urb(port->interrupt_in_urb);
- usb_kill_urb(port->interrupt_in_urb);
- }
+ usb_unlink_urb(port->interrupt_in_urb);
+ usb_kill_urb(port->interrupt_in_urb);
- /* Send deactivate cmd to device */
+ mutex_lock(&port->serial->disc_mutex);
+ if (!port->serial->disconnected)
metrousb_send_unidirectional_cmd(UNI_CMD_CLOSE, port);
- }
+ mutex_unlock(&port->serial->disc_mutex);
}
static int metrousb_open(struct tty_struct *tty, struct usb_serial_port *port)
Patches currently in stable-queue which might be from [email protected] are
queue-3.6/usb-opticon-fix-memory-leak-in-error-path.patch
queue-3.6/usb-omninet-fix-port-data-memory-leak.patch
queue-3.6/usb-keyspan-fix-null-pointer-dereferences-and-memory-leaks.patch
queue-3.6/usb-quatech2-fix-io-after-disconnect.patch
queue-3.6/usb-mos7840-remove-null-urb-submission.patch
queue-3.6/usb-usb-wwan-fix-multiple-memory-leaks-in-error-paths.patch
queue-3.6/usb-mos7840-remove-invalid-disconnect-handling.patch
queue-3.6/usb-whiteheat-fix-memory-leak-in-error-path.patch
queue-3.6/usb-option-fix-interface-data-memory-leak-in-error-path.patch
queue-3.6/usb-metro-usb-fix-port-data-memory-leak.patch
queue-3.6/usb-mos7840-fix-port-device-leak-in-error-path.patch
queue-3.6/usb-mos7840-fix-urb-leak-at-release.patch
queue-3.6/usb-serial-fix-memory-leak-in-sierra_release.patch
queue-3.6/usb-ipw-fix-interface-data-memory-leak-in-error-path.patch
queue-3.6/usb-quatech2-fix-port-data-memory-leaks.patch
queue-3.6/usb-opticon-fix-dma-from-stack.patch
queue-3.6/usb-mct_u232-fix-port-data-memory-leak.patch
queue-3.6/usb-ch341-fix-port-data-memory-leak.patch
queue-3.6/usb-quatech2-fix-memory-leak-in-error-path.patch
queue-3.6/usb-qcserial-fix-interface-data-memory-leak-in-error-path.patch
queue-3.6/usb-sierra-fix-port-data-memory-leak.patch
queue-3.6/usb-whiteheat-fix-port-data-memory-leak.patch
queue-3.6/usb-metro-usb-fix-io-after-disconnect.patch
queue-3.6/usb-digi_acceleport-fix-port-data-memory-leak.patch
queue-3.6/usb-quatech2-fix-close-and-disconnect-urb-handling.patch
queue-3.6/usb-sierra-fix-memory-leak-in-probe-error-path.patch
queue-3.6/usb-mos7720-fix-port-data-memory-leak.patch
queue-3.6/usb-mct_u232-fix-broken-close.patch
queue-3.6/usb-sierra-fix-memory-leak-in-attach-error-path.patch
--
To unsubscribe from this list: send the line "unsubscribe stable" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html