From: Eric W. Biederman Date: Sat, 15 Mar 2014 00:59:10 +0000 (-0700) Subject: i40e: Don't receive packets when the napi budget == 0 X-Git-Tag: v3.15-rc1~113^2~145^2~14 X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=390f86dfbd3e7c4579aaa88281149e1cbac88a2d;p=~emulex%2Finfiniband.git i40e: 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" Signed-off-by: David S. Miller --- diff --git a/drivers/net/ethernet/intel/i40e/i40e_txrx.c b/drivers/net/ethernet/intel/i40e/i40e_txrx.c index daa3b295ff3..88666adb074 100644 --- a/drivers/net/ethernet/intel/i40e/i40e_txrx.c +++ b/drivers/net/ethernet/intel/i40e/i40e_txrx.c @@ -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) >>