diff options
| -rw-r--r-- | drivers/usb/serial/usb_wwan.c | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c index b004b2a485c3..9c014e2ecd68 100644 --- a/drivers/usb/serial/usb_wwan.c +++ b/drivers/usb/serial/usb_wwan.c | |||
| @@ -295,12 +295,15 @@ static void usb_wwan_indat_callback(struct urb *urb) | |||
| 295 | __func__, status, endpoint); | 295 | __func__, status, endpoint); |
| 296 | } else { | 296 | } else { |
| 297 | tty = tty_port_tty_get(&port->port); | 297 | tty = tty_port_tty_get(&port->port); |
| 298 | if (urb->actual_length) { | 298 | if (tty) { |
| 299 | tty_insert_flip_string(tty, data, urb->actual_length); | 299 | if (urb->actual_length) { |
| 300 | tty_flip_buffer_push(tty); | 300 | tty_insert_flip_string(tty, data, |
| 301 | } else | 301 | urb->actual_length); |
| 302 | dbg("%s: empty read urb received", __func__); | 302 | tty_flip_buffer_push(tty); |
| 303 | tty_kref_put(tty); | 303 | } else |
| 304 | dbg("%s: empty read urb received", __func__); | ||
| 305 | tty_kref_put(tty); | ||
| 306 | } | ||
| 304 | 307 | ||
| 305 | /* Resubmit urb so we continue receiving */ | 308 | /* Resubmit urb so we continue receiving */ |
| 306 | if (status != -ESHUTDOWN) { | 309 | if (status != -ESHUTDOWN) { |
