diff options
author | Johan Hovold <johan@kernel.org> | 2017-11-03 15:30:57 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2017-11-28 16:03:35 +0100 |
commit | 51899a63b42ee01df676b0624df4e81a517c3571 (patch) | |
tree | 62997d747d7211c833aeca077b797d566e5a7aad /drivers/tty/serdev/serdev-ttyport.c | |
parent | 10f9e033c1e0e8563699b5839a2ff7f565dd72b2 (diff) |
serdev: ttyport: release tty lock sooner on open
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@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/serdev/serdev-ttyport.c')
-rw-r--r-- | drivers/tty/serdev/serdev-ttyport.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/tty/serdev/serdev-ttyport.c b/drivers/tty/serdev/serdev-ttyport.c index ce7ad0acee7a..f76a8e044e4e 100644 --- a/drivers/tty/serdev/serdev-ttyport.c +++ b/drivers/tty/serdev/serdev-ttyport.c @@ -104,6 +104,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 | @@ -117,7 +119,6 @@ static int ttyport_open(struct serdev_controller *ctrl) set_bit(SERPORT_ACTIVE, &serport->flags); - tty_unlock(serport->tty); return 0; err_close: |