diff options
Diffstat (limited to 'drivers/net/forcedeth.c')
-rw-r--r-- | drivers/net/forcedeth.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index a363148d0198..9bca5ed62707 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -3104,13 +3104,17 @@ static int nv_napi_poll(struct net_device *dev, int *budget) | |||
3104 | struct fe_priv *np = netdev_priv(dev); | 3104 | struct fe_priv *np = netdev_priv(dev); |
3105 | u8 __iomem *base = get_hwbase(dev); | 3105 | u8 __iomem *base = get_hwbase(dev); |
3106 | unsigned long flags; | 3106 | unsigned long flags; |
3107 | int retcode; | ||
3107 | 3108 | ||
3108 | if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) | 3109 | if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) { |
3109 | pkts = nv_rx_process(dev, limit); | 3110 | pkts = nv_rx_process(dev, limit); |
3110 | else | 3111 | retcode = nv_alloc_rx(dev); |
3112 | } else { | ||
3111 | pkts = nv_rx_process_optimized(dev, limit); | 3113 | pkts = nv_rx_process_optimized(dev, limit); |
3114 | retcode = nv_alloc_rx_optimized(dev); | ||
3115 | } | ||
3112 | 3116 | ||
3113 | if (nv_alloc_rx(dev)) { | 3117 | if (retcode) { |
3114 | spin_lock_irqsave(&np->lock, flags); | 3118 | spin_lock_irqsave(&np->lock, flags); |
3115 | if (!np->in_shutdown) | 3119 | if (!np->in_shutdown) |
3116 | mod_timer(&np->oom_kick, jiffies + OOM_REFILL); | 3120 | mod_timer(&np->oom_kick, jiffies + OOM_REFILL); |