Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

serial: pass state to __uart_start() directly

__uart_start() does not need a tty struct. It works only with
uart_state. So pass the latter directly.

Signed-off-by: Jiri Slaby (SUSE) <jirislaby@kernel.org>
Link: https://lore.kernel.org/r/20230712081811.29004-8-jirislaby@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Jiri Slaby and committed by
Greg Kroah-Hartman
1225541c df007fa0

+4 -5
+4 -5
drivers/tty/serial/serial_core.c
··· 133 133 uart_port_unlock(port, flags); 134 134 } 135 135 136 - static void __uart_start(struct tty_struct *tty) 136 + static void __uart_start(struct uart_state *state) 137 137 { 138 - struct uart_state *state = tty->driver_data; 139 138 struct uart_port *port = state->uart_port; 140 139 struct serial_port_device *port_dev; 141 140 int err; ··· 169 170 unsigned long flags; 170 171 171 172 port = uart_port_lock(state, flags); 172 - __uart_start(tty); 173 + __uart_start(state); 173 174 uart_port_unlock(port, flags); 174 175 } 175 176 ··· 238 239 if (!old_hw_stopped) 239 240 uport->ops->stop_tx(uport); 240 241 else 241 - __uart_start(tty); 242 + __uart_start(state); 242 243 } 243 244 spin_unlock_irq(&uport->lock); 244 245 } ··· 618 619 ret += c; 619 620 } 620 621 621 - __uart_start(tty); 622 + __uart_start(state); 622 623 uart_port_unlock(port, flags); 623 624 return ret; 624 625 }