|
@@ -1801,20 +1801,16 @@ do_it_again:
|
|
|
minimum = time = 0;
|
|
|
timeout = MAX_SCHEDULE_TIMEOUT;
|
|
|
if (!ldata->icanon) {
|
|
|
- time = (HZ / 10) * TIME_CHAR(tty);
|
|
|
minimum = MIN_CHAR(tty);
|
|
|
if (minimum) {
|
|
|
+ time = (HZ / 10) * TIME_CHAR(tty);
|
|
|
if (time)
|
|
|
ldata->minimum_to_wake = 1;
|
|
|
else if (!waitqueue_active(&tty->read_wait) ||
|
|
|
(ldata->minimum_to_wake > minimum))
|
|
|
ldata->minimum_to_wake = minimum;
|
|
|
} else {
|
|
|
- timeout = 0;
|
|
|
- if (time) {
|
|
|
- timeout = time;
|
|
|
- time = 0;
|
|
|
- }
|
|
|
+ timeout = (HZ / 10) * TIME_CHAR(tty);
|
|
|
ldata->minimum_to_wake = minimum = 1;
|
|
|
}
|
|
|
}
|