Commit 6a0d989d authored by Michal Schmidt's avatar Michal Schmidt Committed by Jakub Kicinski
Browse files

iavf: in iavf_down, don't queue watchdog_task if comms failed



The reason for queueing watchdog_task is to have it process the
aq_required flags that are being set here. If comms failed, there's
nothing to do, so return early.

Signed-off-by: default avatarMichal Schmidt <mschmidt@redhat.com>
Reviewed-by: default avatarWojciech Drewek <wojciech.drewek@intel.com>
Tested-by: default avatarRafal Romanowski <rafal.romanowski@intel.com>
Signed-off-by: default avatarJacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20231027175941.1340255-4-jacob.e.keller@intel.com


Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent 5902ee6d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -1420,8 +1420,10 @@ void iavf_down(struct iavf_adapter *adapter)
	iavf_clear_fdir_filters(adapter);
	iavf_clear_adv_rss_conf(adapter);

	if (!(adapter->flags & IAVF_FLAG_PF_COMMS_FAILED) &&
	    !(test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section))) {
	if (adapter->flags & IAVF_FLAG_PF_COMMS_FAILED)
		return;

	if (!test_bit(__IAVF_IN_REMOVE_TASK, &adapter->crit_section)) {
		/* cancel any current operation */
		adapter->current_op = VIRTCHNL_OP_UNKNOWN;
		/* Schedule operations to close down the HW. Don't wait