|
@@ -642,10 +642,8 @@ static void rs_close(struct tty_struct *tty, struct file * filp)
|
|
|
info->event = 0;
|
|
|
info->tty = 0;
|
|
|
if (info->blocked_open) {
|
|
|
- if (info->close_delay) {
|
|
|
- current->state = TASK_INTERRUPTIBLE;
|
|
|
- schedule_timeout(info->close_delay);
|
|
|
- }
|
|
|
+ if (info->close_delay)
|
|
|
+ schedule_timeout_interruptible(info->close_delay);
|
|
|
wake_up_interruptible(&info->open_wait);
|
|
|
}
|
|
|
info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING);
|