Subject: Re: [PATCH] pcnet32: round off carrier watch timer

From: Stephen Hemminger <[email-masked]>
Date: Wed, 7 Jan 2009 16:38:19 -0800

On Thu, 08 Jan 2009 08:32:47 +0800
Wang Chen <[email-masked]> wrote:

> Stephen Hemminger said the following on 2009-1-8 4:10:
> > The link check watchdog timer on this driver fires every two seconds, but
> > since not aligned it causes extra wakeups. It is more important on this
> > driver than most because it is the hardware that is emulated by default
> > when using network interfaces on VMware.
> > 
> > Signed-off-by: Stephen Hemminger <[email-masked]>
> > 
> > --- a/drivers/net/pcnet32.c	2009-01-07 12:05:54.218712996 -0800
> > +++ b/drivers/net/pcnet32.c	2009-01-07 12:06:37.430288101 -0800
> > @@ -2282,7 +2282,7 @@ static int pcnet32_open(struct net_devic
> >  	if (lp->chip_version >= PCNET32_79C970A) {
> >  		/* Print the link status and start the watchdog */
> >  		pcnet32_check_media(dev, 1);
> > -		mod_timer(&(lp->watchdog_timer), PCNET32_WATCHDOG_TIMEOUT);
> > +		mod_timer(&lp->watchdog_timer, PCNET32_WATCHDOG_TIMEOUT);
> 
> should be
> +		mod_timer(&lp->watchdog_timer, round_jiffies(PCNET32_WATCHDOG_TIMEOUT));
> same as that in pcnet32_watchdog()?

It only gets run on the first tick so it doesn't matter.