diff options
Diffstat (limited to 'drivers/usb/serial/spcp8x5.c')
-rw-r--r-- | drivers/usb/serial/spcp8x5.c | 17 |
1 files changed, 5 insertions, 12 deletions
diff --git a/drivers/usb/serial/spcp8x5.c b/drivers/usb/serial/spcp8x5.c index cf508e26f1c6..5d39191e7244 100644 --- a/drivers/usb/serial/spcp8x5.c +++ b/drivers/usb/serial/spcp8x5.c | |||
@@ -686,8 +686,6 @@ static void spcp8x5_read_bulk_callback(struct urb *urb) | |||
686 | 686 | ||
687 | /* check the urb status */ | 687 | /* check the urb status */ |
688 | if (result) { | 688 | if (result) { |
689 | if (!port->port.count) | ||
690 | return; | ||
691 | if (result == -EPROTO) { | 689 | if (result == -EPROTO) { |
692 | /* spcp8x5 mysteriously fails with -EPROTO */ | 690 | /* spcp8x5 mysteriously fails with -EPROTO */ |
693 | /* reschedule the read */ | 691 | /* reschedule the read */ |
@@ -734,16 +732,11 @@ static void spcp8x5_read_bulk_callback(struct urb *urb) | |||
734 | } | 732 | } |
735 | tty_kref_put(tty); | 733 | tty_kref_put(tty); |
736 | 734 | ||
737 | /* Schedule the next read _if_ we are still open */ | 735 | /* Schedule the next read */ |
738 | if (port->port.count) { | 736 | urb->dev = port->serial->dev; |
739 | urb->dev = port->serial->dev; | 737 | result = usb_submit_urb(urb , GFP_ATOMIC); |
740 | result = usb_submit_urb(urb , GFP_ATOMIC); | 738 | if (result) |
741 | if (result) | 739 | dev_dbg(&port->dev, "failed submitting read urb %d\n", result); |
742 | dev_dbg(&port->dev, "failed submitting read urb %d\n", | ||
743 | result); | ||
744 | } | ||
745 | |||
746 | return; | ||
747 | } | 740 | } |
748 | 741 | ||
749 | /* get data from ring buffer and then write to usb bus */ | 742 | /* get data from ring buffer and then write to usb bus */ |