Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f61051cd authored by Russell King's avatar Russell King Committed by Russell King
Browse files

[SERIAL] Fix clocal wakeup problem



Jim Alexander reported a problem where "if one calls open() in
blocking mode with CLOCAL off, the 8250.c driver under the 2.6
kernel (or at least 2.6.8 and 2.6.10) does not wake up the
blocked process when DCD is asserted."

Fix this by enabling modem status interrupts immediately before
we read the carrier detect status.

Thanks to Jim for reporting the problem and testing the fix.

Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent b9abaa3f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -1440,6 +1440,7 @@ uart_block_til_ready(struct file *filp, struct uart_state *state)
		 * modem is ready for us.
		 */
		spin_lock_irq(&port->lock);
		port->ops->enable_ms(port);
		mctrl = port->ops->get_mctrl(port);
		spin_unlock_irq(&port->lock);
		if (mctrl & TIOCM_CAR)