aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/serial/ti_usb_3410_5052.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/usb/serial/ti_usb_3410_5052.c b/drivers/usb/serial/ti_usb_3410_5052.c
index 4203e2b1a761..3d505fd0645b 100644
--- a/drivers/usb/serial/ti_usb_3410_5052.c
+++ b/drivers/usb/serial/ti_usb_3410_5052.c
@@ -1555,15 +1555,17 @@ static int ti_restart_read(struct ti_port *tport, struct tty_struct *tty)
1555 spin_lock_irqsave(&tport->tp_lock, flags); 1555 spin_lock_irqsave(&tport->tp_lock, flags);
1556 1556
1557 if (tport->tp_read_urb_state == TI_READ_URB_STOPPED) { 1557 if (tport->tp_read_urb_state == TI_READ_URB_STOPPED) {
1558 tport->tp_read_urb_state = TI_READ_URB_RUNNING;
1558 urb = tport->tp_port->read_urb; 1559 urb = tport->tp_port->read_urb;
1560 spin_unlock_irqrestore(&tport->tp_lock, flags);
1559 urb->complete = ti_bulk_in_callback; 1561 urb->complete = ti_bulk_in_callback;
1560 urb->context = tport; 1562 urb->context = tport;
1561 urb->dev = tport->tp_port->serial->dev; 1563 urb->dev = tport->tp_port->serial->dev;
1562 status = usb_submit_urb(urb, GFP_KERNEL); 1564 status = usb_submit_urb(urb, GFP_KERNEL);
1565 } else {
1566 tport->tp_read_urb_state = TI_READ_URB_RUNNING;
1567 spin_unlock_irqrestore(&tport->tp_lock, flags);
1563 } 1568 }
1564 tport->tp_read_urb_state = TI_READ_URB_RUNNING;
1565
1566 spin_unlock_irqrestore(&tport->tp_lock, flags);
1567 1569
1568 return status; 1570 return status;
1569} 1571}