pcnet32: round off carrier watch timer
authorStephen Hemminger <shemminger@vyatta.com>
Thu, 8 Jan 2009 19:17:13 +0000 (11:17 -0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 8 Jan 2009 19:17:13 +0000 (11:17 -0800)
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 <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/pcnet32.c

index c1bef953bf07bda9ed076d2ab8cb64527cdd8f84..665a4286da39dc29de659e03900ad7d89f172ab3 100644 (file)
@@ -2282,7 +2282,7 @@ static int pcnet32_open(struct net_device *dev)
        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);
        }
 
        i = 0;
@@ -2917,7 +2917,7 @@ static void pcnet32_watchdog(struct net_device *dev)
        pcnet32_check_media(dev, 0);
        spin_unlock_irqrestore(&lp->lock, flags);
 
-       mod_timer(&(lp->watchdog_timer), PCNET32_WATCHDOG_TIMEOUT);
+       mod_timer(&lp->watchdog_timer, round_jiffies(PCNET32_WATCHDOG_TIMEOUT));
 }
 
 static int pcnet32_pm_suspend(struct pci_dev *pdev, pm_message_t state)