OSDN Git Service

i40e: Don't receive packets when the napi budget == 0
authorEric W. Biederman <ebiederm@xmission.com>
Sat, 15 Mar 2014 00:59:10 +0000 (17:59 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 15 Mar 2014 02:52:47 +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/intel/i40e/i40e_txrx.c

index daa3b29..88666ad 100644 (file)
@@ -1302,6 +1302,9 @@ static int i40e_clean_rx_irq(struct i40e_ring *rx_ring, int budget)
        u8 rx_ptype;
        u64 qword;
 
+       if (budget <= 0)
+               return 0;
+
        rx_desc = I40E_RX_DESC(rx_ring, i);
        qword = le64_to_cpu(rx_desc->wb.qword1.status_error_len);
        rx_status = (qword & I40E_RXD_QW1_STATUS_MASK) >>