From 52247c9ba652ac5600aca390df6dc93fe8641ec3 Mon Sep 17 00:00:00 2001 From: Dan Willemsen Date: Fri, 2 Sep 2011 11:22:07 -0700 Subject: fixup 5b659f7 serial: tegra: Add check for uart state before access This was a bad merge - this code goes in tegra_uart_set_mctrl, not tegra_set_mctrl Bug 870346 Change-Id: Icd7d723b55113b61968b9a5729283b20c81797f2 Signed-off-by: Dan Willemsen Reviewed-on: http://git-master/r/50542 Reviewed-by: Pradeep Goudagunta Tested-by: Venu Byravarasu Rebase-Id: Rc2b15fa4d970dbb7e7e8d9fc078f70587455c5d1 --- drivers/tty/serial/tegra_hsuart.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'drivers/tty') diff --git a/drivers/tty/serial/tegra_hsuart.c b/drivers/tty/serial/tegra_hsuart.c index 9b24f2d9adda..4da1957486b2 100644 --- a/drivers/tty/serial/tegra_hsuart.c +++ b/drivers/tty/serial/tegra_hsuart.c @@ -937,10 +937,6 @@ static void tegra_set_mctrl(struct uart_port *u, unsigned int mctrl) dev_dbg(u->dev, "tegra_set_mctrl called with %d\n", mctrl); t = container_of(u, struct tegra_uart_port, uport); - if (t->uart_state != TEGRA_UART_OPENED) { - dev_err(t->uport.dev, "Uart is in invalid state\n"); - return; - } mcr = t->mcr_shadow; if (mctrl & TIOCM_RTS) { @@ -1517,6 +1513,11 @@ void tegra_uart_set_mctrl(struct uart_port *uport, unsigned int mctrl) struct tegra_uart_port *t; t = container_of(uport, struct tegra_uart_port, uport); + if (t->uart_state != TEGRA_UART_OPENED) { + dev_err(t->uport.dev, "Uart is in invalid state\n"); + return; + } + spin_lock_irqsave(&uport->lock, flags); if (mctrl & TIOCM_RTS) { t->rts_active = true; -- cgit v1.2.3