|
@@ -660,17 +660,15 @@ int usb_wwan_resume(struct usb_serial *serial)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ spin_lock_irq(&intfdata->susp_lock);
|
|
|
for (i = 0; i < serial->num_ports; i++) {
|
|
|
/* walk all ports */
|
|
|
port = serial->port[i];
|
|
|
portdata = usb_get_serial_port_data(port);
|
|
|
|
|
|
/* skip closed ports */
|
|
|
- spin_lock_irq(&intfdata->susp_lock);
|
|
|
- if (!portdata || !portdata->opened) {
|
|
|
- spin_unlock_irq(&intfdata->susp_lock);
|
|
|
+ if (!portdata || !portdata->opened)
|
|
|
continue;
|
|
|
- }
|
|
|
|
|
|
for (j = 0; j < N_IN_URB; j++) {
|
|
|
urb = portdata->in_urbs[j];
|
|
@@ -683,9 +681,7 @@ int usb_wwan_resume(struct usb_serial *serial)
|
|
|
}
|
|
|
}
|
|
|
play_delayed(port);
|
|
|
- spin_unlock_irq(&intfdata->susp_lock);
|
|
|
}
|
|
|
- spin_lock_irq(&intfdata->susp_lock);
|
|
|
intfdata->suspended = 0;
|
|
|
spin_unlock_irq(&intfdata->susp_lock);
|
|
|
err_out:
|