diff options
| -rw-r--r-- | drivers/usb/serial/usb_wwan.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c index 7d0811335b9a..6855d5ed0331 100644 --- a/drivers/usb/serial/usb_wwan.c +++ b/drivers/usb/serial/usb_wwan.c | |||
| @@ -602,6 +602,8 @@ static void stop_read_write_urbs(struct usb_serial *serial) | |||
| 602 | for (i = 0; i < serial->num_ports; ++i) { | 602 | for (i = 0; i < serial->num_ports; ++i) { |
| 603 | port = serial->port[i]; | 603 | port = serial->port[i]; |
| 604 | portdata = usb_get_serial_port_data(port); | 604 | portdata = usb_get_serial_port_data(port); |
| 605 | if (!portdata) | ||
| 606 | continue; | ||
| 605 | for (j = 0; j < N_IN_URB; j++) | 607 | for (j = 0; j < N_IN_URB; j++) |
| 606 | usb_kill_urb(portdata->in_urbs[j]); | 608 | usb_kill_urb(portdata->in_urbs[j]); |
| 607 | for (j = 0; j < N_OUT_URB; j++) | 609 | for (j = 0; j < N_OUT_URB; j++) |
| @@ -700,7 +702,7 @@ int usb_wwan_resume(struct usb_serial *serial) | |||
| 700 | 702 | ||
| 701 | /* skip closed ports */ | 703 | /* skip closed ports */ |
| 702 | spin_lock_irq(&intfdata->susp_lock); | 704 | spin_lock_irq(&intfdata->susp_lock); |
| 703 | if (!portdata->opened) { | 705 | if (!portdata || !portdata->opened) { |
| 704 | spin_unlock_irq(&intfdata->susp_lock); | 706 | spin_unlock_irq(&intfdata->susp_lock); |
| 705 | continue; | 707 | continue; |
| 706 | } | 708 | } |
