提交 f5f45304 编写于 作者: J Johan Hovold 提交者: Greg Kroah-Hartman

USB: serial: clean up dtr_rts

Since commit 957dacae ("TTY: fix DTR not being dropped on hang up")
dtr_rts is no longer called for uninitialised ports (e.g. after
a disconnect), which removes the need to grab the disconnect mutex.
Signed-off-by: NJohan Hovold <jhovold@gmail.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
上级 91c4211c
......@@ -681,20 +681,10 @@ static int serial_port_carrier_raised(struct tty_port *port)
static void serial_port_dtr_rts(struct tty_port *port, int on)
{
struct usb_serial_port *p = container_of(port, struct usb_serial_port, port);
struct usb_serial *serial = p->serial;
struct usb_serial_driver *drv = serial->type;
struct usb_serial_driver *drv = p->serial->type;
if (!drv->dtr_rts)
return;
/*
* Work-around bug in the tty-layer which can result in dtr_rts
* being called after a disconnect (and tty_unregister_device
* has returned). Remove once bug has been squashed.
*/
mutex_lock(&serial->disc_mutex);
if (!serial->disconnected)
if (drv->dtr_rts)
drv->dtr_rts(p, on);
mutex_unlock(&serial->disc_mutex);
}
static const struct tty_port_operations serial_port_ops = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册