diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2014-10-16 15:33:24 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-05 19:34:36 -0500 |
commit | 4d8c1dff6a8666a2e18a7d5954c2156be0d5b152 (patch) | |
tree | 67b087c8fb4142ad6d95b9a9e8d085ad8ace6ee6 /drivers/tty/pty.c | |
parent | dbfcd851a9ee0bf6952e538be75230b7c071dafb (diff) |
pty: Use spin_lock_irq() for pty_set_termios()
The tty driver's set_termios() method is called with interrupts
enabled; there is no need to save and restore the local interrupt state.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Reviewed-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/pty.c')
-rw-r--r-- | drivers/tty/pty.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c index 7f612c524224..394374789292 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c | |||
@@ -259,8 +259,6 @@ out: | |||
259 | static void pty_set_termios(struct tty_struct *tty, | 259 | static void pty_set_termios(struct tty_struct *tty, |
260 | struct ktermios *old_termios) | 260 | struct ktermios *old_termios) |
261 | { | 261 | { |
262 | unsigned long flags; | ||
263 | |||
264 | /* See if packet mode change of state. */ | 262 | /* See if packet mode change of state. */ |
265 | if (tty->link && tty->link->packet) { | 263 | if (tty->link && tty->link->packet) { |
266 | int extproc = (old_termios->c_lflag & EXTPROC) | | 264 | int extproc = (old_termios->c_lflag & EXTPROC) | |
@@ -272,7 +270,7 @@ static void pty_set_termios(struct tty_struct *tty, | |||
272 | STOP_CHAR(tty) == '\023' && | 270 | STOP_CHAR(tty) == '\023' && |
273 | START_CHAR(tty) == '\021'); | 271 | START_CHAR(tty) == '\021'); |
274 | if ((old_flow != new_flow) || extproc) { | 272 | if ((old_flow != new_flow) || extproc) { |
275 | spin_lock_irqsave(&tty->ctrl_lock, flags); | 273 | spin_lock_irq(&tty->ctrl_lock); |
276 | if (old_flow != new_flow) { | 274 | if (old_flow != new_flow) { |
277 | tty->ctrl_status &= ~(TIOCPKT_DOSTOP | TIOCPKT_NOSTOP); | 275 | tty->ctrl_status &= ~(TIOCPKT_DOSTOP | TIOCPKT_NOSTOP); |
278 | if (new_flow) | 276 | if (new_flow) |
@@ -282,7 +280,7 @@ static void pty_set_termios(struct tty_struct *tty, | |||
282 | } | 280 | } |
283 | if (extproc) | 281 | if (extproc) |
284 | tty->ctrl_status |= TIOCPKT_IOCTL; | 282 | tty->ctrl_status |= TIOCPKT_IOCTL; |
285 | spin_unlock_irqrestore(&tty->ctrl_lock, flags); | 283 | spin_unlock_irq(&tty->ctrl_lock); |
286 | wake_up_interruptible(&tty->link->read_wait); | 284 | wake_up_interruptible(&tty->link->read_wait); |
287 | } | 285 | } |
288 | } | 286 | } |