mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 21:38:32 +08:00
USB: kl5kusb105: 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
bca87e9efb
commit
9fcb2e6e7e
@ -341,22 +341,17 @@ static void klsi_105_close(struct usb_serial_port *port)
|
||||
{
|
||||
int rc;
|
||||
|
||||
mutex_lock(&port->serial->disc_mutex);
|
||||
if (!port->serial->disconnected) {
|
||||
/* send READ_OFF */
|
||||
rc = usb_control_msg(port->serial->dev,
|
||||
usb_sndctrlpipe(port->serial->dev, 0),
|
||||
KL5KUSB105A_SIO_CONFIGURE,
|
||||
USB_TYPE_VENDOR | USB_DIR_OUT,
|
||||
KL5KUSB105A_SIO_CONFIGURE_READ_OFF,
|
||||
0, /* index */
|
||||
NULL, 0,
|
||||
KLSI_TIMEOUT);
|
||||
if (rc < 0)
|
||||
dev_err(&port->dev,
|
||||
"Disabling read failed (error = %d)\n", rc);
|
||||
}
|
||||
mutex_unlock(&port->serial->disc_mutex);
|
||||
/* send READ_OFF */
|
||||
rc = usb_control_msg(port->serial->dev,
|
||||
usb_sndctrlpipe(port->serial->dev, 0),
|
||||
KL5KUSB105A_SIO_CONFIGURE,
|
||||
USB_TYPE_VENDOR | USB_DIR_OUT,
|
||||
KL5KUSB105A_SIO_CONFIGURE_READ_OFF,
|
||||
0, /* index */
|
||||
NULL, 0,
|
||||
KLSI_TIMEOUT);
|
||||
if (rc < 0)
|
||||
dev_err(&port->dev, "failed to disable read: %d\n", rc);
|
||||
|
||||
/* shutdown our bulk reads and writes */
|
||||
usb_serial_generic_close(port);
|
||||
|
Loading…
Reference in New Issue
Block a user