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:
parent
fc37449f79
commit
c43422053b
1 changed files with 2 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue