Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b7b1d202 authored by John W. Linville's avatar John W. Linville Committed by Jeff Garzik
Browse files

[PATCH] 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: default avatarJohn W. Linville <linville@tuxdriver.com>
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 6ba98d31
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -1334,7 +1334,7 @@ static void epic_rx_err(struct net_device *dev, struct epic_private *ep)
static 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);