USB: visor: always disable uart on close
Always try to disable the uart on close. Since the switch to tty ports, close will be called as part of shutdown before disconnect returns. Hence there is no need to check the disconnected flag, and we can put devices in disabled states also on driver unbind. Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
81ae1b3c31
commit
7620c33afb
1 changed files with 5 additions and 11 deletions
|
@ -257,24 +257,18 @@ static void visor_close(struct usb_serial_port *port)
|
|||
{
|
||||
unsigned char *transfer_buffer;
|
||||
|
||||
/* shutdown our urbs */
|
||||
usb_serial_generic_close(port);
|
||||
usb_kill_urb(port->interrupt_in_urb);
|
||||
|
||||
mutex_lock(&port->serial->disc_mutex);
|
||||
if (!port->serial->disconnected) {
|
||||
/* Try to send shutdown message, unless the device is gone */
|
||||
transfer_buffer = kmalloc(0x12, GFP_KERNEL);
|
||||
if (transfer_buffer) {
|
||||
usb_control_msg(port->serial->dev,
|
||||
transfer_buffer = kmalloc(0x12, GFP_KERNEL);
|
||||
if (!transfer_buffer)
|
||||
return;
|
||||
usb_control_msg(port->serial->dev,
|
||||
usb_rcvctrlpipe(port->serial->dev, 0),
|
||||
VISOR_CLOSE_NOTIFICATION, 0xc2,
|
||||
0x0000, 0x0000,
|
||||
transfer_buffer, 0x12, 300);
|
||||
kfree(transfer_buffer);
|
||||
}
|
||||
}
|
||||
mutex_unlock(&port->serial->disc_mutex);
|
||||
kfree(transfer_buffer);
|
||||
}
|
||||
|
||||
static void visor_read_int_callback(struct urb *urb)
|
||||
|
|
Loading…
Reference in a new issue