On Thu, 27 Jul 2006 19:01:14 -0700
Stephen Hemminger <[EMAIL PROTECTED]> wrote:

> Fix for NAPI hanging in interrupt. With NAPI, we only need one
> iteration over the IRQ.
> 
> Signed-off-by: Stephen Hemminger <[EMAIL PROTECTED]>
> 
> --- linux-2.6.orig/drivers/net/forcedeth.c    2006-07-27
> 18:58:21.000000000 -0700 +++ linux-2.6/drivers/net/forcedeth.c
> 2006-07-27 18:57:31.000000000 -0700 @@ -2422,10 +2422,11 @@
>                                               dev->name, events);
>               }
>  #ifdef CONFIG_FORCEDETH_NAPI
> -             if (netif_rx_schedule_prep(dev)) {
> -                     __netif_rx_schedule(dev);
> +             if (events & NVREG_IRQ_RX_ALL) {
> +                     netif_rx_schedule(dev);
>                       nv_disable_hw_interrupts(dev,
> NVREG_IRQ_RX_ALL); }
> +             return IRQ_HANDLED;
>  #else
>               nv_rx_process(dev, dev->weight);
>               if (nv_alloc_rx(dev)) {
> @@ -2434,7 +2435,6 @@
>                               mod_timer(&np->oom_kick, jiffies +
> OOM_REFILL); spin_unlock(&np->lock);
>               }
> -#endif
>               if (i > max_interrupt_work) {
>                       spin_lock(&np->lock);
>                       /* disable interrupts on the nic */
> @@ -2452,7 +2452,7 @@
>                       spin_unlock(&np->lock);
>                       break;
>               }
> -
> +#endif
>       }
>       dprintk(KERN_DEBUG "%s: nv_nic_irq completed\n", dev->name);
>  

What on earth happened to that?
-
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

Reply via email to