Stephen Hemminger <[EMAIL PROTECTED]> : [...] > --- sky2-2.6.17.orig/drivers/net/sky2.c 2006-04-25 10:48:47.000000000 > -0700 > +++ sky2-2.6.17/drivers/net/sky2.c 2006-04-25 10:53:32.000000000 -0700 > @@ -2086,6 +2086,20 @@ > } > } > > +/* If idle then force a fake soft NAPI poll once a second > + * to work around cases where sharing an edge triggered interrupt. > + */ > +static void sky2_idle(unsigned long arg) > +{ > + struct net_device *dev = (struct net_device *) arg; > + > + local_irq_disable(); > + if (__netif_rx_schedule_prep(dev)) > + __netif_rx_schedule(dev); > + local_irq_enable(); > +} > + > + > static int sky2_poll(struct net_device *dev0, int *budget) > { > struct sky2_hw *hw = ((struct sky2_port *) netdev_priv(dev0))->hw; > @@ -2134,6 +2148,8 @@ > sky2_write32(hw, STAT_CTRL, SC_STAT_CLR_IRQ); > } > > + mod_timer(&hw->idle_timer, jiffies + HZ); > + > local_irq_disable(); > __netif_rx_complete(dev0);
Any objection against moving mod_timer() from sky2_poll() to sky2_idle() so as to keep poll() path unmodified ? -- Ueimor - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html