epic100: fix counting of work_done in epic_poll
Subsystems (2)
PATCH 1/1 epic100: fix counting of work_done in epic_poll
work_done is overwritten each time through the rx_action loop in epic_poll. This screws-up the NAPI accounting if the loop is executed more than once.
Signed-off-by John W. Linville <[email protected]>
---
drivers/net/epic100.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/epic100.c +2 -2
@@ -1334,7 +1334,7 @@ static void epic_rx_err(struct net_devicstatic int epic_poll (struct net_device *dev,int *budget) {struct epic_private *ep = dev->priv; -int work_done, orig_budget; +int work_done =0 , orig_budget;long ioaddr = dev->base_addr; orig_budget = (*budget > dev->quota) ? dev->quota : *budget;
@@ -1343,7 +1343,7 @@ rx_action:epic_tx (dev, ep); - work_done =epic_rx (dev, *budget); + work_done +=epic_rx (dev, *budget);epic_rx_err (dev, ep);
Jeff Garzik
Appliedapplied