summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Torvalds2010-02-17 01:56:21 +0100
committerLinus Torvalds2010-02-17 01:56:21 +0100
commitb0483e78e5c4c9871fc5541875b3bc006846d46b (patch)
treedf73f95975372bf2a635df53041969a367385364
parentMerge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6 (diff)
parentserial: 8250: add serial transmitter fully empty test (diff)
downloadkernel-qcow2-linux-b0483e78e5c4c9871fc5541875b3bc006846d46b.tar.gz
kernel-qcow2-linux-b0483e78e5c4c9871fc5541875b3bc006846d46b.tar.xz
kernel-qcow2-linux-b0483e78e5c4c9871fc5541875b3bc006846d46b.zip
Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6
* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty-2.6: serial: 8250: add serial transmitter fully empty test
-rw-r--r--drivers/serial/8250.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c
index c3e37c8e7e26..e9b15c3746fa 100644
--- a/drivers/serial/8250.c
+++ b/drivers/serial/8250.c
@@ -83,6 +83,9 @@ static unsigned int skip_txen_test; /* force skip of txen test at init time */
#define PASS_LIMIT 256
+#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
+
+
/*
* We default to IRQ0 for the "no irq" hack. Some
* machine types want others as well - they're free
@@ -1792,7 +1795,7 @@ static unsigned int serial8250_tx_empty(struct uart_port *port)
up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS;
spin_unlock_irqrestore(&up->port.lock, flags);
- return lsr & UART_LSR_TEMT ? TIOCSER_TEMT : 0;
+ return (lsr & BOTH_EMPTY) == BOTH_EMPTY ? TIOCSER_TEMT : 0;
}
static unsigned int serial8250_get_mctrl(struct uart_port *port)
@@ -1850,8 +1853,6 @@ static void serial8250_break_ctl(struct uart_port *port, int break_state)
spin_unlock_irqrestore(&up->port.lock, flags);
}
-#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE)
-
/*
* Wait for transmitter & holding register to empty
*/