diff options
author | Oliver Neukum <oliver@neukum.org> | 2008-01-22 13:56:18 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2008-02-01 14:35:05 -0800 |
commit | 95bef012ea4a3cce437a4fcf59bb097d14944b0d (patch) | |
tree | bc9991b335211030bcc2ee76fdc42ae2fcccb645 /drivers/usb/serial/airprime.c | |
parent | e33fe4d86f91127f6f7d931ff59ed6cbda06e72b (diff) | |
download | op-kernel-dev-95bef012ea4a3cce437a4fcf59bb097d14944b0d.zip op-kernel-dev-95bef012ea4a3cce437a4fcf59bb097d14944b0d.tar.gz |
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.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/serial/airprime.c b/drivers/usb/serial/airprime.c index 77bb893..f156dba 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) priv->rts_state = 0; priv->dtr_state = 0; - airprime_send_setup(port); + mutex_lock(&port->serial->disc_mutex); + if (!port->serial->disconnected) + airprime_send_setup(port); + mutex_lock(&port->serial->disc_mutex); for (i = 0; i < NUM_READ_URBS; ++i) { usb_kill_urb (priv->read_urbp[i]); |