diff options
| -rw-r--r-- | drivers/serial/8250.c | 7 |
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 */ | |||
| 83 | 83 | ||
| 84 | #define PASS_LIMIT 256 | 84 | #define PASS_LIMIT 256 |
| 85 | 85 | ||
| 86 | #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) | ||
| 87 | |||
| 88 | |||
| 86 | /* | 89 | /* |
| 87 | * We default to IRQ0 for the "no irq" hack. Some | 90 | * We default to IRQ0 for the "no irq" hack. Some |
| 88 | * machine types want others as well - they're free | 91 | * machine types want others as well - they're free |
| @@ -1792,7 +1795,7 @@ static unsigned int serial8250_tx_empty(struct uart_port *port) | |||
| 1792 | up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; | 1795 | up->lsr_saved_flags |= lsr & LSR_SAVE_FLAGS; |
| 1793 | spin_unlock_irqrestore(&up->port.lock, flags); | 1796 | spin_unlock_irqrestore(&up->port.lock, flags); |
| 1794 | 1797 | ||
| 1795 | return lsr & UART_LSR_TEMT ? TIOCSER_TEMT : 0; | 1798 | return (lsr & BOTH_EMPTY) == BOTH_EMPTY ? TIOCSER_TEMT : 0; |
| 1796 | } | 1799 | } |
| 1797 | 1800 | ||
| 1798 | static unsigned int serial8250_get_mctrl(struct uart_port *port) | 1801 | 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) | |||
| 1850 | spin_unlock_irqrestore(&up->port.lock, flags); | 1853 | spin_unlock_irqrestore(&up->port.lock, flags); |
| 1851 | } | 1854 | } |
| 1852 | 1855 | ||
| 1853 | #define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) | ||
| 1854 | |||
| 1855 | /* | 1856 | /* |
| 1856 | * Wait for transmitter & holding register to empty | 1857 | * Wait for transmitter & holding register to empty |
| 1857 | */ | 1858 | */ |
