i40e: avoid double calling i40e_pf_rxq_wait()
authorMaciej Fijalkowski <maciej.fijalkowski@intel.com>
Tue, 6 Feb 2024 12:41:31 +0000 (13:41 +0100)
committerTony Nguyen <anthony.l.nguyen@intel.com>
Tue, 13 Feb 2024 00:58:08 +0000 (16:58 -0800)
commit89a373e9131d4200038a0ef232dad80212209de0
tree940a131ea236420139c1b15ed29bbc407370b55d
parent343bb39e1f25a73a38a03d98ca383495c0ed6e92
i40e: avoid double calling i40e_pf_rxq_wait()

Currently, when interface is being brought down and
i40e_vsi_stop_rings() is called, i40e_pf_rxq_wait() is called two times,
which is wrong. To showcase this scenario, simplified call stack looks
as follows:

i40e_vsi_stop_rings()
i40e_control wait rx_q()
i40e_control_rx_q()
i40e_pf_rxq_wait()
i40e_vsi_wait_queues_disabled()
i40e_pf_rxq_wait()  // redundant call

To fix this, let us s/i40e_control_wait_rx_q/i40e_control_rx_q within
i40e_vsi_stop_rings().

Fixes: 65662a8dcdd0 ("i40e: Fix logic of disabling queues")
Reviewed-by: Simon Horman <horms@kernel.org>
Signed-off-by: Maciej Fijalkowski <maciej.fijalkowski@intel.com>
Reviewed-by: Ivan Vecera <ivecera@redhat.com>
Tested-by: Chandan Kumar Rout <chandanx.rout@intel.com> (A Contingent Worker at Intel)
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c