提交 28e1445c 编写于 作者: G Greg Kroah-Hartman

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: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
......@@ -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) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册