USB: more serial drivers writing after disconnect
this covers the rest of the obvious cases by using the flags and locks to guard against disconnect which were introduced in the earlier patch against mos7720. Signed-off-by: Oliver Neukum <oneukum@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
e33fe4d86f
commit
95bef012ea
@ -1198,7 +1198,8 @@ static void ftdi_close (struct usb_serial_port *port, struct file *filp)
|
||||
|
||||
dbg("%s", __FUNCTION__);
|
||||
|
||||
if (c_cflag & HUPCL){
|
||||
mutex_lock(&port->serial->disc_mutex);
|
||||
if (c_cflag & HUPCL && !port->serial->disconnected){
|
||||
/* Disable flow control */
|
||||
if (usb_control_msg(port->serial->dev,
|
||||
usb_sndctrlpipe(port->serial->dev, 0),
|
||||
@ -1212,6 +1213,7 @@ static void ftdi_close (struct usb_serial_port *port, struct file *filp)
|
||||
/* drop RTS and DTR */
|
||||
clear_mctrl(port, TIOCM_DTR | TIOCM_RTS);
|
||||
} /* Note change no line if hupcl is off */
|
||||
mutex_unlock(&port->serial->disc_mutex);
|
||||
|
||||
/* cancel any scheduled reading */
|
||||
cancel_delayed_work(&priv->rx_work);
|
||||
|
Reference in New Issue
Block a user