Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f5f45304 authored by Johan Hovold's avatar Johan Hovold Committed by Greg Kroah-Hartman
Browse files

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: default avatarJohan Hovold <jhovold@gmail.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 91c4211c
Loading
Loading
Loading
Loading
+2 −12
Original line number Diff line number Diff line
@@ -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 = {