Revert "8250: Fix tcsetattr to avoid ioctl(TIOCMIWAIT) hang"
authorIngo Molnar <mingo@elte.hu>
Sat, 13 Nov 2010 15:21:58 +0000 (16:21 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Sat, 13 Nov 2010 17:59:19 +0000 (09:59 -0800)
This reverts commit 47d3904fe40d62deee8cd46e79ca784e7a548acd.

Crashes any x86 serial console bootup:

  Console: colour VGA+ 80x25
  BUG: unable to handle kernel NULL pointer dereference at 0000000000000158
  IP: [<ffffffff811ebcb4>] serial8250_do_set_termios+0x1d4/0x430
  ...

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Cc: Greg KH <gregkh@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Alan Cox <alan@lxorguk.ukuu.org.uk>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
drivers/serial/8250.c

index dd5e1ac22251a86692ed79162baca4e0f728a4c4..4d8e14b7aa931bcf3de11c6e5805005e0bf413ca 100644 (file)
@@ -2343,11 +2343,8 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
 
        /*
         * CTS flow control flag and modem status interrupts
-        * Only disable MSI if no threads are waiting in
-        * serial_core::uart_wait_modem_status
         */
-       if (!waitqueue_active(&up->port.state->port.delta_msr_wait))
-               up->ier &= ~UART_IER_MSI;
+       up->ier &= ~UART_IER_MSI;
        if (!(up->bugs & UART_BUG_NOMSR) &&
                        UART_ENABLE_MS(&up->port, termios->c_cflag))
                up->ier |= UART_IER_MSI;