From: Johan Hovold Date: Wed, 3 Apr 2019 07:40:53 +0000 (+0200) Subject: Revert "tty: fix NULL pointer issue when tty_port ops is not set" X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=0d3cb6f6c67aab6284921619c838382fb6e4f5db;p=linux.git Revert "tty: fix NULL pointer issue when tty_port ops is not set" This reverts commit f4e68d58cf2b20a581759bbc7228052534652673. TTY drivers using the tty-port abstraction all provide a pointer to a set of port operations, which specifically cannot be NULL (or we'd find out at first attempt to open a port). Revert the recent commit which added unnecessary NULL-checks and whose commit message indicated that it was fixing a real problem, which it did not. Note that even the two tty drivers for virtual devices currently providing an empty set of operations probably should be implementing at least some of the callbacks. Cc: Fabien Dessenne Signed-off-by: Johan Hovold Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/tty/tty_port.c b/drivers/tty/tty_port.c index a9e12b3bc31d7..044c3cbdcfa40 100644 --- a/drivers/tty/tty_port.c +++ b/drivers/tty/tty_port.c @@ -325,7 +325,7 @@ static void tty_port_shutdown(struct tty_port *port, struct tty_struct *tty) if (tty && C_HUPCL(tty)) tty_port_lower_dtr_rts(port); - if (port->ops && port->ops->shutdown) + if (port->ops->shutdown) port->ops->shutdown(port); } out: @@ -398,7 +398,7 @@ EXPORT_SYMBOL_GPL(tty_port_tty_wakeup); */ int tty_port_carrier_raised(struct tty_port *port) { - if (!port->ops || !port->ops->carrier_raised) + if (port->ops->carrier_raised == NULL) return 1; return port->ops->carrier_raised(port); } @@ -414,7 +414,7 @@ EXPORT_SYMBOL(tty_port_carrier_raised); */ void tty_port_raise_dtr_rts(struct tty_port *port) { - if (port->ops && port->ops->dtr_rts) + if (port->ops->dtr_rts) port->ops->dtr_rts(port, 1); } EXPORT_SYMBOL(tty_port_raise_dtr_rts); @@ -429,7 +429,7 @@ EXPORT_SYMBOL(tty_port_raise_dtr_rts); */ void tty_port_lower_dtr_rts(struct tty_port *port) { - if (port->ops && port->ops->dtr_rts) + if (port->ops->dtr_rts) port->ops->dtr_rts(port, 0); } EXPORT_SYMBOL(tty_port_lower_dtr_rts); @@ -684,7 +684,7 @@ int tty_port_open(struct tty_port *port, struct tty_struct *tty, if (!tty_port_initialized(port)) { clear_bit(TTY_IO_ERROR, &tty->flags); - if (port->ops && port->ops->activate) { + if (port->ops->activate) { int retval = port->ops->activate(port, tty); if (retval) { mutex_unlock(&port->mutex);