summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2010-09-13 17:42:12 +0530
committerBharat Nihalani <bnihalani@nvidia.com>2010-09-13 20:44:31 -0700
commit2dfdf8f1827ea26560b5295164d59590dabcff20 (patch)
tree3a14a86cc1f15fc7bd03a0171b9dfdc5233e1bfd
parent6a3d70663c22deb829b09c4a9142d9f3ffd6db7a (diff)
[arm/tegra] serial: Removing wait loop for tx empty
When uart_close() or uart_suspend() calls the tegra_uart_suspend() the drivers waits in tight loop for tx to be empty. This wait is not required because serial_core driver have already waited for the tx fifo to empty with proper timeout before calling these function. bug 730612 (cherry picked from commit 13387c532dfb35dc672b290aec8b7a4db49730d6) (cherry picked from commit ddd896c933e3f8d5fb28948ad957ec12b3d881cd) Change-Id: Ie898ad0a134684844bf80ae00a1c8dd4b02a605a Reviewed-on: http://git-master/r/6372 Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com> Tested-by: Laxman Dewangan <ldewangan@nvidia.com> Reviewed-by: Harry Hong <hhong@nvidia.com> Tested-by: Harry Hong <hhong@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rwxr-xr-xdrivers/serial/tegra_hsuart.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/serial/tegra_hsuart.c b/drivers/serial/tegra_hsuart.c
index f179d098cdc4..353a43bc3906 100755
--- a/drivers/serial/tegra_hsuart.c
+++ b/drivers/serial/tegra_hsuart.c
@@ -668,8 +668,8 @@ static void tegra_uart_hw_deinit(struct tegra_uart_port *t)
/* Disable interrupts */
uart_writeb(t, 0, UART_IER);
- while ((uart_readb(t, UART_LSR) & UART_LSR_TEMT) != UART_LSR_TEMT);
- udelay(2000);
+ /* TBD: why this delay is needed */
+ udelay(200);
/* Reset the Rx and Tx FIFOs */
fcr = t->fcr_shadow;