diff options
author | James Bottomley <James.Bottomley@HansenPartnership.com> | 2016-01-07 15:51:13 -0800 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2016-01-07 15:51:13 -0800 |
commit | abaee091a18c19ccd86feb1c8374585d82e96777 (patch) | |
tree | 01602bae73e1278c3d98dafe1c269049927c58ce /drivers/tty/tty_io.c | |
parent | a2746fb16e41b7c8f02aa4d2605ecce97abbebbd (diff) | |
parent | 3f8d6f2a0797e8c650a47e5c1b5c2601a46f4293 (diff) | |
download | linux-abaee091a18c19ccd86feb1c8374585d82e96777.tar.gz linux-abaee091a18c19ccd86feb1c8374585d82e96777.tar.xz |
Merge branch 'jejb-scsi' into misc
Diffstat (limited to 'drivers/tty/tty_io.c')
-rw-r--r-- | drivers/tty/tty_io.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/tty_io.c b/drivers/tty/tty_io.c index 0c41dbcb90b8..bcc8e1e8bb72 100644 --- a/drivers/tty/tty_io.c +++ b/drivers/tty/tty_io.c @@ -1282,18 +1282,22 @@ int tty_send_xchar(struct tty_struct *tty, char ch) int was_stopped = tty->stopped; if (tty->ops->send_xchar) { + down_read(&tty->termios_rwsem); tty->ops->send_xchar(tty, ch); + up_read(&tty->termios_rwsem); return 0; } if (tty_write_lock(tty, 0) < 0) return -ERESTARTSYS; + down_read(&tty->termios_rwsem); if (was_stopped) start_tty(tty); tty->ops->write(tty, &ch, 1); if (was_stopped) stop_tty(tty); + up_read(&tty->termios_rwsem); tty_write_unlock(tty); return 0; } |