]> xenbits.xensource.com Git - people/aperard/linux.git/commitdiff
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)
committerSasha Levin <sashal@kernel.org>
Fri, 15 Mar 2024 14:48:14 +0000 (10:48 -0400)
[ Upstream commit d562b11c1eac7d73f4c778b4cbe5468f86b1f20d ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/intel/i40e/i40e_main.c

index 76455405a6d8e9bf7f7fa7b96efc23ab7f7fdde4..d8a7fb21b7b76ae79d4ef3db2b518ba31df2ec30 100644 (file)
@@ -13569,9 +13569,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);