diff options
Diffstat (limited to 'drivers/usb/serial/opticon.c')
-rw-r--r-- | drivers/usb/serial/opticon.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/usb/serial/opticon.c b/drivers/usb/serial/opticon.c index 80f59b6350cb..4cdb975caa89 100644 --- a/drivers/usb/serial/opticon.c +++ b/drivers/usb/serial/opticon.c | |||
@@ -501,12 +501,13 @@ static int opticon_resume(struct usb_interface *intf) | |||
501 | struct usb_serial_port *port = serial->port[0]; | 501 | struct usb_serial_port *port = serial->port[0]; |
502 | int result; | 502 | int result; |
503 | 503 | ||
504 | mutex_lock(&port->mutex); | 504 | mutex_lock(&port->port.mutex); |
505 | if (port->port.count) | 505 | /* This is protected by the port mutex against close/open */ |
506 | if (test_bit(ASYNCB_INITIALIZED, &port->port.flags)) | ||
506 | result = usb_submit_urb(priv->bulk_read_urb, GFP_NOIO); | 507 | result = usb_submit_urb(priv->bulk_read_urb, GFP_NOIO); |
507 | else | 508 | else |
508 | result = 0; | 509 | result = 0; |
509 | mutex_unlock(&port->mutex); | 510 | mutex_unlock(&port->port.mutex); |
510 | return result; | 511 | return result; |
511 | } | 512 | } |
512 | 513 | ||