mirror of https://gitee.com/openkylin/linux.git
Merge branch 'tty-linus' into 'tty-testing'
We need the fixes in drivers/tty/tty_io.c that were done in there for future patches in this branch. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
commit
28e1445c65
|
@ -363,7 +363,7 @@ uart_get_baud_rate(struct uart_port *port, struct ktermios *termios,
|
|||
* The spd_hi, spd_vhi, spd_shi, spd_warp kludge...
|
||||
* Die! Die! Die!
|
||||
*/
|
||||
if (baud == 38400)
|
||||
if (try == 0 && baud == 38400)
|
||||
baud = altbaud;
|
||||
|
||||
/*
|
||||
|
|
|
@ -1763,6 +1763,8 @@ int tty_release(struct inode *inode, struct file *filp)
|
|||
int do_sleep, final;
|
||||
int idx;
|
||||
char buf[64];
|
||||
long timeout = 0;
|
||||
int once = 1;
|
||||
|
||||
if (tty_paranoia_check(tty, inode, __func__))
|
||||
return 0;
|
||||
|
@ -1832,9 +1834,16 @@ int tty_release(struct inode *inode, struct file *filp)
|
|||
if (!do_sleep)
|
||||
break;
|
||||
|
||||
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
|
||||
__func__, tty_name(tty, buf));
|
||||
schedule();
|
||||
if (once) {
|
||||
once = 0;
|
||||
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n",
|
||||
__func__, tty_name(tty, buf));
|
||||
}
|
||||
schedule_timeout_killable(timeout);
|
||||
if (timeout < 120 * HZ)
|
||||
timeout = 2 * timeout + 1;
|
||||
else
|
||||
timeout = MAX_SCHEDULE_TIMEOUT;
|
||||
}
|
||||
|
||||
if (o_tty) {
|
||||
|
|
Loading…
Reference in New Issue