diff options
author | David S. Miller <davem@davemloft.net> | 2014-03-14 22:53:35 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-14 22:53:35 -0400 |
commit | e7ef085d0a9dc1cc72e7d8108ed3b4e1a5e8d938 (patch) | |
tree | f8ae35945d4100401117f32d27d776c16c0cd086 /drivers/net/ethernet/tile/tilegx.c | |
parent | 1c79a5a8f4faec88f9f4632d0ef9b0365bff8e28 (diff) | |
parent | 75363a4676cdb046242d06dca6e8a9c0a20d6c4a (diff) | |
download | linux-e7ef085d0a9dc1cc72e7d8108ed3b4e1a5e8d938.tar.gz |
Merge branch 'napi_budget_zero'
Eric W. Biederman says:
====================
Don't receive packets when the napi budget == 0
After reading through all 120 drivers supporting netpoll I have found 16
more that process at least received packet when the napi budget == 0.
Processing more packets than your budget has always been a bug but
we haven't cared before so it looks like these drivers slipped through,
and need fixes.
As netpoll will shortly be using a budget of 0 to get the tx queue
processing with the rx queue processing we now care.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/tile/tilegx.c')
-rw-r--r-- | drivers/net/ethernet/tile/tilegx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/tile/tilegx.c b/drivers/net/ethernet/tile/tilegx.c index 17503da9f7a5..b43f1b3b9632 100644 --- a/drivers/net/ethernet/tile/tilegx.c +++ b/drivers/net/ethernet/tile/tilegx.c @@ -659,6 +659,9 @@ static int tile_net_poll(struct napi_struct *napi, int budget) struct info_mpipe *info_mpipe = container_of(napi, struct info_mpipe, napi); + if (budget <= 0) + goto done; + instance = info_mpipe->instance; while ((n = gxio_mpipe_iqueue_try_peek( &info_mpipe->iqueue, |