mlx4: Don't receive packets when the napi budget == 0
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 15 Mar 2014 01:05:58 +0000 (18:05 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Mar 2014 02:52:48 +0000 (22:52 -0400)
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>
drivers/net/ethernet/mellanox/mlx4/en_rx.c

index 8afb72ec957d81222d226302a47ea1681d4bfcf6..ba049ae88749dac986a0712d281bbd649152acdd 100644 (file)
@@ -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' */