diff options
| author | Greg Kroah-Hartman <gregkh@suse.de> | 2010-02-17 11:29:31 -0800 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@suse.de> | 2010-02-17 11:29:31 -0800 |
| commit | c9c6e48761eee7819ccba6c4be402b0762cbd4d4 (patch) | |
| tree | ed591e9acb46e2cfb20319dbaf10b489f0f19a14 /tty.current | |
| parent | b42e10eff567a927fc01ba715d0f9cd9dab4c2ed (diff) | |
| download | patches-c9c6e48761eee7819ccba6c4be402b0762cbd4d4.tar.gz | |
delete patches now in Linus's tree
Diffstat (limited to 'tty.current')
| -rw-r--r-- | tty.current/serial-8250-add-serial-transmitter-fully-empty-test.patch | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/tty.current/serial-8250-add-serial-transmitter-fully-empty-test.patch b/tty.current/serial-8250-add-serial-transmitter-fully-empty-test.patch deleted file mode 100644 index 2304a87669f299..00000000000000 --- a/tty.current/serial-8250-add-serial-transmitter-fully-empty-test.patch +++ /dev/null @@ -1,87 +0,0 @@ -From akpm@linux-foundation.org Tue Dec 22 11:38:31 2009 -From: Dick Hollenbeck <dick@softplc.com> -Date: Wed, 09 Dec 2009 12:31:34 -0800 -Subject: serial: 8250: add serial transmitter fully empty test -To: greg@kroah.com -Cc: alan@lxorguk.ukuu.org.uk, akpm@linux-foundation.org, dick@softplc.com, alan@linux.intel.com, k.schoenmakers@sigmae.nl -Message-ID: <200912092031.nB9KVYsu003819@imap1.linux-foundation.org> - - -From: Dick Hollenbeck <dick@softplc.com> - -When controlling an industrial radio modem it can be necessary to -manipulate the handshake lines in order to control the radio modem's -transmitter, from userspace. - -The transmitter should not be turned off before all characters have been -transmitted. serial8250_tx_empty() was reporting that all characters were -transmitted before they actually were. - -=== - -Discovered in parallel with more testing and analysis by Kees Schoenmakers -as follows: - -I ran into an NetMos 9835 serial pci board which behaves a little -different than the standard. This type of expansion board is very common. - -"Standard" 8250 compatible devices clear the 'UART_LST_TEMT" bit together -with the "UART_LSR_THRE" bit when writing data to the device. - -The NetMos device does it slightly different - -I believe that the TEMT bit is coupled to the shift register. The problem -is that after writing data to the device and very quickly after that one -does call serial8250_tx_empty, it returns the wrong information. - -My patch makes the test more robust (and solves the problem) and it does -not affect the already correct devices. - - -Alan: - - We may yet need to quirk this but now we know which chips we have a - way to do that should we find this breaks some other 8250 clone with - dodgy THRE. - -Signed-off-by: Dick Hollenbeck <dick@softplc.com> -Signed-off-by: Alan Cox <alan@linux.intel.com> -Cc: Kees Schoenmakers <k.schoenmakers@sigmae.nl> -Signed-off-by: Andrew Morton <akpm@linux-foundation.org> -Cc: stable <stable@kernel.org> -Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> - ---- - drivers/serial/8250.c | 7 ++++--- - 1 file changed, 4 insertions(+), 3 deletions(-) - ---- a/drivers/serial/8250.c -+++ b/drivers/serial/8250.c -@@ -83,6 +83,9 @@ static unsigned int skip_txen_test; /* f - - #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( - 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 - spin_unlock_irqrestore(&up->port.lock, flags); - } - --#define BOTH_EMPTY (UART_LSR_TEMT | UART_LSR_THRE) -- - /* - * Wait for transmitter & holding register to empty - */ |
