diff options
Diffstat (limited to 'drivers/net/usb')
-rw-r--r-- | drivers/net/usb/hso.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/drivers/net/usb/hso.c b/drivers/net/usb/hso.c index aba90e77e077..fb1c5ac55c01 100644 --- a/drivers/net/usb/hso.c +++ b/drivers/net/usb/hso.c | |||
@@ -1915,18 +1915,18 @@ static void intr_callback(struct urb *urb) | |||
1915 | if (serial != NULL) { | 1915 | if (serial != NULL) { |
1916 | D1("Pending read interrupt on port %d\n", i); | 1916 | D1("Pending read interrupt on port %d\n", i); |
1917 | spin_lock(&serial->serial_lock); | 1917 | spin_lock(&serial->serial_lock); |
1918 | if (serial->rx_state == RX_IDLE) { | 1918 | if (serial->rx_state == RX_IDLE && |
1919 | serial->open_count > 0) { | ||
1919 | /* Setup and send a ctrl req read on | 1920 | /* Setup and send a ctrl req read on |
1920 | * port i */ | 1921 | * port i */ |
1921 | if (!serial->rx_urb_filled[0]) { | 1922 | if (!serial->rx_urb_filled[0]) { |
1922 | serial->rx_state = RX_SENT; | 1923 | serial->rx_state = RX_SENT; |
1923 | hso_mux_serial_read(serial); | 1924 | hso_mux_serial_read(serial); |
1924 | } else | 1925 | } else |
1925 | serial->rx_state = RX_PENDING; | 1926 | serial->rx_state = RX_PENDING; |
1926 | |||
1927 | } else { | 1927 | } else { |
1928 | D1("Already pending a read on " | 1928 | D1("Already a read pending on " |
1929 | "port %d\n", i); | 1929 | "port %d or port not open\n", i); |
1930 | } | 1930 | } |
1931 | spin_unlock(&serial->serial_lock); | 1931 | spin_unlock(&serial->serial_lock); |
1932 | } | 1932 | } |