diff --git a/[refs] b/[refs] index f51ec91c82af..d04ae9a09009 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 17d80d562fd78a035e994afde88f354973e76236 +refs/heads/master: 62ad296b6ca78bd123864c138814c0a597873693 diff --git a/trunk/drivers/usb/serial/usb-serial.c b/trunk/drivers/usb/serial/usb-serial.c index 3bcf33466587..353798631903 100644 --- a/trunk/drivers/usb/serial/usb-serial.c +++ b/trunk/drivers/usb/serial/usb-serial.c @@ -283,7 +283,10 @@ static void serial_close(struct tty_struct *tty, struct file * filp) } if (port->open_count == 0) { - usb_autopm_put_interface(port->serial->interface); + mutex_lock(&port->serial->disc_mutex); + if (!port->serial->disconnected) + usb_autopm_put_interface(port->serial->interface); + mutex_unlock(&port->serial->disc_mutex); module_put(port->serial->type->driver.owner); }