diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
|---|---|---|
| committer | Thomas Gleixner <tglx@linutronix.de> | 2018-06-22 21:20:35 +0200 | 
| commit | 7731b8bc94e599c9a79e428f3359ff2c34b7576a (patch) | |
| tree | 879f18ccbe274122f2d4f095b43cbc7f953e0ada /drivers/tty/pty.c | |
| parent | 48e315618dc4dc8904182cd221e3d395d5d97005 (diff) | |
| parent | 9ffc59d57228d74809700be6f7ecb1db10292f05 (diff) | |
Merge branch 'linus' into x86/urgent
Required to queue a dependent fix.
Diffstat (limited to 'drivers/tty/pty.c')
| -rw-r--r-- | drivers/tty/pty.c | 3 | 
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/tty/pty.c b/drivers/tty/pty.c index 6c7151edd715..b0e2c4847a5d 100644 --- a/drivers/tty/pty.c +++ b/drivers/tty/pty.c @@ -110,16 +110,19 @@ static void pty_unthrottle(struct tty_struct *tty)  static int pty_write(struct tty_struct *tty, const unsigned char *buf, int c)  {  	struct tty_struct *to = tty->link; +	unsigned long flags;  	if (tty->stopped)  		return 0;  	if (c > 0) { +		spin_lock_irqsave(&to->port->lock, flags);  		/* Stuff the data into the input queue of the other end */  		c = tty_insert_flip_string(to->port, buf, c);  		/* And shovel */  		if (c)  			tty_flip_buffer_push(to->port); +		spin_unlock_irqrestore(&to->port->lock, flags);  	}  	return c;  }  | 
