From 2b702b9b680cd17dbdd93461dd3f66297e313809 Mon Sep 17 00:00:00 2001 From: Peter Hurley Date: Thu, 16 Oct 2014 16:54:25 -0400 Subject: [PATCH] serial: core: Colocate crucial structure linkage The key function of uart_add_one_port() is to cross-reference the UART driver's port structure with the serial core's state table; keep the assignments together and document this crucial association. Signed-off-by: Peter Hurley Signed-off-by: Greg Kroah-Hartman --- drivers/tty/serial/serial_core.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c index af1d46697e3f..e0082b73c198 100644 --- a/drivers/tty/serial/serial_core.c +++ b/drivers/tty/serial/serial_core.c @@ -2590,12 +2590,13 @@ int uart_add_one_port(struct uart_driver *drv, struct uart_port *uport) goto out; } + /* Link the port to the driver state table and vice versa */ state->uart_port = uport; - state->pm_state = UART_PM_STATE_UNDEFINED; - - uport->cons = drv->cons; uport->state = state; + state->pm_state = UART_PM_STATE_UNDEFINED; + uport->cons = drv->cons; + /* * If this port is a console, then the spinlock is already * initialised.