Char: moxa, fix and optimise empty timer
moxa, fix and optimise empty timer don't wait and delete empty timer in empty timer function. Also fire next empty timer at rounded jiffies to save power. Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
fc37449f79
Коммит
c43422053b
|
@ -1040,14 +1040,14 @@ static void check_xmit_empty(unsigned long data)
|
|||
struct moxa_port *ch;
|
||||
|
||||
ch = (struct moxa_port *) data;
|
||||
del_timer_sync(&moxa_ports[ch->port].emptyTimer);
|
||||
if (ch->tty && (ch->statusflags & EMPTYWAIT)) {
|
||||
if (MoxaPortTxQueue(ch->port) == 0) {
|
||||
ch->statusflags &= ~EMPTYWAIT;
|
||||
tty_wakeup(ch->tty);
|
||||
return;
|
||||
}
|
||||
mod_timer(&moxa_ports[ch->port].emptyTimer, jiffies + HZ);
|
||||
mod_timer(&moxa_ports[ch->port].emptyTimer,
|
||||
round_jiffies(jiffies + HZ));
|
||||
} else
|
||||
ch->statusflags &= ~EMPTYWAIT;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче