]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/usb/serial/airprime.c
USB: more serial drivers writing after disconnect
[linux-2.6-omap-h63xx.git] / drivers / usb / serial / airprime.c
index 77bb893bf2e922c51bb51ef4e2ac69f6d2cd2a86..f156dba0300f77168f7774199e988074bd249e8a 100644 (file)
@@ -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]);