diff options
author | Eric W. Biederman <ebiederm@xmission.com> | 2014-03-14 18:05:58 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-03-14 22:52:48 -0400 |
commit | 38be0a347c91133843474e12baacd252d0fd1c30 (patch) | |
tree | 822ba3f787958b5342d036c881bfbe00099fd1cd /drivers/net/ethernet/mellanox/mlx4/en_rx.c | |
parent | 21ceda26d7418c688dd9186eb46a49c4c0887e61 (diff) | |
download | op-kernel-dev-38be0a347c91133843474e12baacd252d0fd1c30.zip op-kernel-dev-38be0a347c91133843474e12baacd252d0fd1c30.tar.gz |
mlx4: Don't receive packets when the napi budget == 0
Processing any incoming packets with a with a napi budget of 0
is incorrect driver behavior.
This matters as netpoll will shortly call drivers with a budget of 0
to avoid receive packet processing happening in hard irq context.
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/mellanox/mlx4/en_rx.c')
-rw-r--r-- | drivers/net/ethernet/mellanox/mlx4/en_rx.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/net/ethernet/mellanox/mlx4/en_rx.c b/drivers/net/ethernet/mellanox/mlx4/en_rx.c index 8afb72ec..ba049ae 100644 --- a/drivers/net/ethernet/mellanox/mlx4/en_rx.c +++ b/drivers/net/ethernet/mellanox/mlx4/en_rx.c @@ -661,6 +661,9 @@ int mlx4_en_process_rx_cq(struct net_device *dev, struct mlx4_en_cq *cq, int bud if (!priv->port_up) return 0; + if (budget <= 0) + return polled; + /* We assume a 1:1 mapping between CQEs and Rx descriptors, so Rx * descriptor offset can be deduced from the CQE index instead of * reading 'cqe->index' */ |