aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/airprime.c
diff options
context:
space:
mode:
authorOliver Neukum <oliver@neukum.org>2008-01-22 07:56:18 -0500
committerGreg Kroah-Hartman <gregkh@suse.de>2008-02-01 17:35:05 -0500
commit95bef012ea4a3cce437a4fcf59bb097d14944b0d (patch)
treebc9991b335211030bcc2ee76fdc42ae2fcccb645 /drivers/usb/serial/airprime.c
parente33fe4d86f91127f6f7d931ff59ed6cbda06e72b (diff)
USB: more serial drivers writing after disconnect
this covers the rest of the obvious cases by using the flags and locks to guard against disconnect which were introduced in the earlier patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/usb/serial/airprime.c')
-rw-r--r--drivers/usb/serial/airprime.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c
index 77bb893bf2e9..f156dba0300f 100644
--- a/drivers/usb/serial/airprime.c
+++ b/drivers/usb/serial/airprime.c
@@ -217,7 +217,10 @@ static void airprime_close(struct usb_serial_port *port, struct file * filp)
217 priv->rts_state = 0; 217 priv->rts_state = 0;
218 priv->dtr_state = 0; 218 priv->dtr_state = 0;
219 219
220 airprime_send_setup(port); 220 mutex_lock(&port->serial->disc_mutex);
221 if (!port->serial->disconnected)
222 airprime_send_setup(port);
223 mutex_lock(&port->serial->disc_mutex);
221 224
222 for (i = 0; i < NUM_READ_URBS; ++i) { 225 for (i = 0; i < NUM_READ_URBS; ++i) {
223 usb_kill_urb (priv->read_urbp[i]); 226 usb_kill_urb (priv->read_urbp[i]);