ixgbevf: Fix handling of NAPI budget when multiple queues are enabled per vector
authorWilliam Dauchy <william@gandi.net>
Fri, 30 Oct 2015 17:16:30 +0000 (18:16 +0100)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Wed, 30 Dec 2015 02:07:37 +0000 (18:07 -0800)
This is the same patch as for ixgbe but applied differently according to
busy polling.  See commit 5d6002b7b822c74 ("ixgbe: Fix handling of NAPI
budget when multiple queues are enabled per vector")

Signed-off-by: William Dauchy <william@gandi.net>
Tested-by: Phil Schmitt <phillip.j.schmitt@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c

index f098952d4fb4ac9f983d43b6fbf91c0170d9f2a8..478c0f1f12bb0827a48616d1e98b061bafee09f0 100644 (file)
@@ -1016,6 +1016,8 @@ static int ixgbevf_poll(struct napi_struct *napi, int budget)
        ixgbevf_for_each_ring(ring, q_vector->tx)
                clean_complete &= ixgbevf_clean_tx_irq(q_vector, ring);
 
+       if (budget <= 0)
+               return budget;
 #ifdef CONFIG_NET_RX_BUSY_POLL
        if (!ixgbevf_qv_lock_napi(q_vector))
                return budget;