i40e: disable NAPI right after disabling irqs when handling xsk_pool
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Tue, 20 Feb 2024 21:45:52 +0000 (22:45 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Fri, 1 Mar 2024 17:38:04 +0000 (09:38 -0800)
Disable NAPI before shutting down queues that this particular NAPI
contains so that the order of actions in i40e_queue_pair_disable()
mirrors what we do in i40e_queue_pair_enable().

Fixes: 123cecd427b6 ("i40e: added queue pair disable/enable functions")
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
Acked-by: Magnus Karlsson <magnus.karlsson@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 54eb55464e3151f00665f9b780c65a1861f8ca07..89a3401d20ab4b1b429802930345c74e823f53e1 100644 (file)
@@ -13560,9 +13560,9 @@ int i40e_queue_pair_disable(struct i40e_vsi *vsi, int queue_pair)
                return err;
 
        i40e_queue_pair_disable_irq(vsi, queue_pair);
+       i40e_queue_pair_toggle_napi(vsi, queue_pair, false /* off */);
        err = i40e_queue_pair_toggle_rings(vsi, queue_pair, false /* off */);
        i40e_clean_rx_ring(vsi->rx_rings[queue_pair]);
-       i40e_queue_pair_toggle_napi(vsi, queue_pair, false /* off */);
        i40e_queue_pair_clean_rings(vsi, queue_pair);
        i40e_queue_pair_reset_stats(vsi, queue_pair);