[SRU OEM-B][PATCH 01/10] serdev: ttyport: release tty lock sooner on open
Shrirang Bagul
shrirang.bagul at canonical.com
Mon May 7 10:56:30 UTC 2018
From: Johan Hovold <johan at kernel.org>
BugLink: http://bugs.launchpad.net/bugs/1769610
Release the tty lock once tty-driver open returns to make it clear that
it does not protect neither tty->termios or the serport flags.
Signed-off-by: Johan Hovold <johan at kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
(cherry picked from commit 51899a63b42ee01df676b0624df4e81a517c3571)
Signed-off-by: Shrirang Bagul <shrirang.bagul at canonical.com>
---
drivers/tty/serdev/serdev-ttyport.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c
index 247788a16f0b..f892fbe08208 100644
--- a/drivers/tty/serdev/serdev-ttyport.c
+++ b/drivers/tty/serdev/serdev-ttyport.c
@@ -122,6 +122,8 @@ static int ttyport_open(struct serdev_controller *ctrl)
if (ret)
goto err_close;
+ tty_unlock(serport->tty);
+
/* Bring the UART into a known 8 bits no parity hw fc state */
ktermios = tty->termios;
ktermios.c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP |
@@ -135,7 +137,6 @@ static int ttyport_open(struct serdev_controller *ctrl)
set_bit(SERPORT_ACTIVE, &serport->flags);
- tty_unlock(serport->tty);
return 0;
err_close:
--
2.14.1
More information about the kernel-team
mailing list