summaryrefslogtreecommitdiffstats
path: root/drivers/net/forcedeth.c
diff options
context:
space:
mode:
authorAyaz Abdulla2007-02-20 09:34:30 +0100
committerJeff Garzik2007-02-27 10:16:02 +0100
commite0379a14fc80cb98978fa86989dab77b522a8106 (patch)
treee2d4c892eba8fa29217ca4266876b3d8fef66577 /drivers/net/forcedeth.c
parent[netdrvr] tc35815: fix obvious bugs (diff)
downloadkernel-qcow2-linux-e0379a14fc80cb98978fa86989dab77b522a8106.tar.gz
kernel-qcow2-linux-e0379a14fc80cb98978fa86989dab77b522a8106.tar.xz
kernel-qcow2-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.c10
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);