summaryrefslogtreecommitdiff
path: root/drivers/tty
diff options
context:
space:
mode:
authorPradeep Goudagunta <pgoudagunta@nvidia.com>2011-08-12 16:00:38 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:48:26 -0800
commit4cf940113a3cd4e88aae12f7b4d9e218002204e8 (patch)
tree2b646b44439ec05e9cb9b9c71e6f114097a6946b /drivers/tty
parent538fe234e49a783719203360d444ece3077a513d (diff)
serial: tegra: Add check for uart state before access
Add proper check for uart state in public api to make sure client driver would not access UART registers when it is in invalid state. Bug 827693 Original-Change-Id: Icfaed824d98023206dacd0346a90e34f2fc6935e Reviewed-on: http://git-master/r/46923 Tested-by: Pradeep Goudagunta <pgoudagunta@nvidia.com> Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Rebase-Id: R9fc0c9d47aae00785b92617ac6b03ab743fcb07d
Diffstat (limited to 'drivers/tty')
-rw-r--r--drivers/tty/serial/tegra_hsuart.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/serial/tegra_hsuart.c b/drivers/tty/serial/tegra_hsuart.c
index 222b9678610f..26e9948e6bc1 100644
--- a/drivers/tty/serial/tegra_hsuart.c
+++ b/drivers/tty/serial/tegra_hsuart.c
@@ -931,6 +931,10 @@ 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) {