mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 02:30:34 +02:00 
			
		
		
		
	n_tty: Ensure reader restarts worker for next reader
A departing reader must restart a flush_to_ldisc() worker _before_ the next reader enters the read loop; this is to avoid the new reader concluding no more i/o is available and prematurely exiting, when the old reader simply hasn't re-started the worker yet. Cc: stable <stable@vger.kernel.org> # 3.12 Signed-off-by: Peter Hurley <peter@hurleysoftware.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
		
							parent
							
								
									6ce4eac1f6
								
							
						
					
					
						commit
						42458f41d0
					
				
					 1 changed files with 3 additions and 2 deletions
				
			
		| 
						 | 
				
			
			@ -2243,6 +2243,9 @@ static ssize_t n_tty_read(struct tty_struct *tty, struct file *file,
 | 
			
		|||
		if (time)
 | 
			
		||||
			timeout = time;
 | 
			
		||||
	}
 | 
			
		||||
	n_tty_set_room(tty);
 | 
			
		||||
	up_read(&tty->termios_rwsem);
 | 
			
		||||
 | 
			
		||||
	mutex_unlock(&ldata->atomic_read_lock);
 | 
			
		||||
	remove_wait_queue(&tty->read_wait, &wait);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -2253,8 +2256,6 @@ static ssize_t n_tty_read(struct tty_struct *tty, struct file *file,
 | 
			
		|||
	if (b - buf)
 | 
			
		||||
		retval = b - buf;
 | 
			
		||||
 | 
			
		||||
	n_tty_set_room(tty);
 | 
			
		||||
	up_read(&tty->termios_rwsem);
 | 
			
		||||
	return retval;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue