USB: sierra: minimise no-suspend window during close
Move usb_autopm_get_interface_no_resume to the end of close(). This makes the window during which suspend is prevented before the final put in USB serial core slightly smaller. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
71c149b901
commit
0287d5c5cd
|
@ -769,8 +769,6 @@ static void sierra_close(struct usb_serial_port *port)
|
||||||
|
|
||||||
portdata = usb_get_serial_port_data(port);
|
portdata = usb_get_serial_port_data(port);
|
||||||
|
|
||||||
usb_autopm_get_interface_no_resume(serial->interface);
|
|
||||||
|
|
||||||
spin_lock_irq(&intfdata->susp_lock);
|
spin_lock_irq(&intfdata->susp_lock);
|
||||||
portdata->opened = 0;
|
portdata->opened = 0;
|
||||||
if (--intfdata->open_ports == 0)
|
if (--intfdata->open_ports == 0)
|
||||||
|
@ -796,6 +794,8 @@ static void sierra_close(struct usb_serial_port *port)
|
||||||
sierra_release_urb(portdata->in_urbs[i]);
|
sierra_release_urb(portdata->in_urbs[i]);
|
||||||
portdata->in_urbs[i] = NULL;
|
portdata->in_urbs[i] = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
usb_autopm_get_interface_no_resume(serial->interface);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int sierra_open(struct tty_struct *tty, struct usb_serial_port *port)
|
static int sierra_open(struct tty_struct *tty, struct usb_serial_port *port)
|
||||||
|
|
Loading…
Reference in New Issue