bnx2: Don't receive packets when the napi budget == 0
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 11 Mar 2014 21:31:09 +0000 (14:31 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 13 Mar 2014 19:18:45 +0000 (15:18 -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>
Acked-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnx2.c

index c251ca3056dec4d206572ef3e00732927d27762f..2e42de2397988a7e0cc912e4fae16187272edafb 100644 (file)
@@ -3132,6 +3132,9 @@ bnx2_rx_int(struct bnx2 *bp, struct bnx2_napi *bnapi, int budget)
        struct l2_fhdr *rx_hdr;
        int rx_pkt = 0, pg_ring_used = 0;
 
+       if (budget <= 0)
+               return rx_pkt;
+
        hw_cons = bnx2_get_hw_rx_cons(bnapi);
        sw_cons = rxr->rx_cons;
        sw_prod = rxr->rx_prod;