diff mbox series

[SRU,OEM-B,02/10] serdev: ttyport: ignore carrier detect to avoid hangups

Message ID 20180507105639.24211-3-shrirang.bagul@canonical.com
State Accepted
Headers show
Series None | expand

Commit Message

Shrirang Bagul May 7, 2018, 10:56 a.m. UTC
From: Johan Hovold <johan@kernel.org>

BugLink: http://bugs.launchpad.net/bugs/1769610

Serdev currently does not support hangups so make sure to set CLOCAL to
prevent loss of carrier from triggering one.

Note however that not all tty drivers honour CLOCAL.

Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
(cherry picked from commit cda64188ca918fcddc8c6e89bbee5a38b029117a)
Signed-off-by: Shrirang Bagul <shrirang.bagul@canonical.com>
---
 drivers/tty/serdev/serdev-ttyport.c | 2 ++
 1 file changed, 2 insertions(+)
diff mbox series

Patch

diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
index f892fbe08208..c2629ab1bbcf 100644
--- a/drivers/tty/serdev/serdev-ttyport.c
+++ b/drivers/tty/serdev/serdev-ttyport.c
@@ -133,6 +133,8 @@  static int ttyport_open(struct serdev_controller *ctrl)
 	ktermios.c_cflag &= ~(CSIZE | PARENB);
 	ktermios.c_cflag |= CS8;
 	ktermios.c_cflag |= CRTSCTS;
+	/* Hangups are not supported so make sure to ignore carrier detect. */
+	ktermios.c_cflag |= CLOCAL;
 	tty_set_termios(tty, &ktermios);
 
 	set_bit(SERPORT_ACTIVE, &serport->flags);