aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/serial/sierra.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/serial/sierra.c')
-rw-r--r--drivers/usb/serial/sierra.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c
index 953bdf8827d2..4c925e3e8a63 100644
--- a/drivers/usb/serial/sierra.c
+++ b/drivers/usb/serial/sierra.c
@@ -597,7 +597,10 @@ static void sierra_close(struct usb_serial_port *port, struct file *filp)
597 portdata->dtr_state = 0; 597 portdata->dtr_state = 0;
598 598
599 if (serial->dev) { 599 if (serial->dev) {
600 sierra_send_setup(port); 600 mutex_lock(&serial->disc_mutex);
601 if (!serial->disconnected)
602 sierra_send_setup(port);
603 mutex_unlock(&serial->disc_mutex);
601 604
602 /* Stop reading/writing urbs */ 605 /* Stop reading/writing urbs */
603 for (i = 0; i < N_IN_URB; i++) 606 for (i = 0; i < N_IN_URB; i++)