aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/forcedeth.c
diff options
context:
space:
mode:
authorAyaz Abdulla <aabdulla@nvidia.com>2007-02-20 03:34:30 -0500
committerJeff Garzik <jeff@garzik.org>2007-02-27 04:16:02 -0500
commite0379a14fc80cb98978fa86989dab77b522a8106 (patch)
treee2d4c892eba8fa29217ca4266876b3d8fef66577 /drivers/net/forcedeth.c
parent420e85241e41fc84b8f5b26c811beb03c472b679 (diff)
downloadkernel_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.c10
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);