diff options
author | Ayaz Abdulla <aabdulla@nvidia.com> | 2007-02-20 03:34:30 -0500 |
---|---|---|
committer | Jeff Garzik <jeff@garzik.org> | 2007-02-27 04:16:02 -0500 |
commit | e0379a14fc80cb98978fa86989dab77b522a8106 (patch) | |
tree | e2d4c892eba8fa29217ca4266876b3d8fef66577 /drivers/net/forcedeth.c | |
parent | 420e85241e41fc84b8f5b26c811beb03c472b679 (diff) | |
download | kernel_samsung_smdk4412-e0379a14fc80cb98978fa86989dab77b522a8106.zip kernel_samsung_smdk4412-e0379a14fc80cb98978fa86989dab77b522a8106.tar.gz kernel_samsung_smdk4412-e0379a14fc80cb98978fa86989dab77b522a8106.tar.bz2 |
forcedeth: fixed missing call in napi poll
The napi poll routine was missing the call to the optimized rx process
routine. This patch adds the missing call for the optimized path.
Signed-Off-By: Ayaz Abdulla <aabdulla@nvidia.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
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 a363148..9bca5ed 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) struct fe_priv *np = netdev_priv(dev); u8 __iomem *base = get_hwbase(dev); unsigned long flags; + int retcode; - if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) + if (np->desc_ver == DESC_VER_1 || np->desc_ver == DESC_VER_2) { pkts = nv_rx_process(dev, limit); - else + retcode = nv_alloc_rx(dev); + } else { pkts = nv_rx_process_optimized(dev, limit); + retcode = nv_alloc_rx_optimized(dev); + } - if (nv_alloc_rx(dev)) { + if (retcode) { spin_lock_irqsave(&np->lock, flags); if (!np->in_shutdown) mod_timer(&np->oom_kick, jiffies + OOM_REFILL); |