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 | talos-obmc-linux-e0379a14fc80cb98978fa86989dab77b522a8106.tar.gz talos-obmc-linux-e0379a14fc80cb98978fa86989dab77b522a8106.zip |
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 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) 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); |