Skip to content

Commit

Permalink
natsemi: Use round_jiffies() for slow timers
Browse files Browse the repository at this point in the history
Unless we have failed to fill the RX ring the timer used by the natsemi
driver is not particularly urgent and can use round_jiffies() to allow
grouping with other timers.

Signed-off-by: Mark Brown <broonie@sirena.org.uk>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
  • Loading branch information
Mark Brown authored and Jeff Garzik committed Oct 15, 2007
1 parent f4921af commit 0e5d544
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions drivers/net/natsemi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1576,7 +1576,7 @@ static int netdev_open(struct net_device *dev)

/* Set the timer to check for link beat. */
init_timer(&np->timer);
np->timer.expires = jiffies + NATSEMI_TIMER_FREQ;
np->timer.expires = round_jiffies(jiffies + NATSEMI_TIMER_FREQ);
np->timer.data = (unsigned long)dev;
np->timer.function = &netdev_timer; /* timer handler */
add_timer(&np->timer);
Expand Down Expand Up @@ -1856,7 +1856,11 @@ static void netdev_timer(unsigned long data)
next_tick = 1;
}
}
mod_timer(&np->timer, jiffies + next_tick);

if (next_tick > 1)
mod_timer(&np->timer, round_jiffies(jiffies + next_tick));
else
mod_timer(&np->timer, jiffies + next_tick);
}

static void dump_ring(struct net_device *dev)
Expand Down Expand Up @@ -3331,7 +3335,7 @@ static int natsemi_resume (struct pci_dev *pdev)
spin_unlock_irq(&np->lock);
enable_irq(dev->irq);

mod_timer(&np->timer, jiffies + 1*HZ);
mod_timer(&np->timer, round_jiffies(jiffies + 1*HZ));
}
netif_device_attach(dev);
out:
Expand Down

0 comments on commit 0e5d544

Please sign in to comment.