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:
Greg Kroah-Hartman 2014-11-05 19:43:23 -08:00
commit 28e1445c65
2 changed files with 13 additions and 4 deletions

View File

@ -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... * The spd_hi, spd_vhi, spd_shi, spd_warp kludge...
* Die! Die! Die! * Die! Die! Die!
*/ */
if (baud == 38400) if (try == 0 && baud == 38400)
baud = altbaud; baud = altbaud;
/* /*

View File

@ -1763,6 +1763,8 @@ int tty_release(struct inode *inode, struct file *filp)
int do_sleep, final; int do_sleep, final;
int idx; int idx;
char buf[64]; char buf[64];
long timeout = 0;
int once = 1;
if (tty_paranoia_check(tty, inode, __func__)) if (tty_paranoia_check(tty, inode, __func__))
return 0; return 0;
@ -1832,9 +1834,16 @@ int tty_release(struct inode *inode, struct file *filp)
if (!do_sleep) if (!do_sleep)
break; break;
printk(KERN_WARNING "%s: %s: read/write wait queue active!\n", if (once) {
__func__, tty_name(tty, buf)); once = 0;
schedule(); 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) { if (o_tty) {