Commit 5abac9d7 authored by Brett Creeley's avatar Brett Creeley Committed by Jeff Kirsher
Browse files

ice: Put __ICE_PREPARED_FOR_RESET check in ice_prepare_for_reset



Currently we check if the __ICE_PREPARED_FOR_RESET bit is set prior to
calling ice_prepare_for_reset in ice_reset_subtask(), but we aren't
checking that bit in ice_do_reset() before calling
ice_prepare_for_reset(). This is not consistent and can cause issues if
ice_prepare_for_reset() is called prior to ice_do_reset(). Fix this by
checking if the __ICE_PREPARED_FOR_RESET bit is set internal to
ice_prepare_for_reset().

Signed-off-by: default avatarBrett Creeley <brett.creeley@intel.com>
Signed-off-by: default avatarAnirudh Venkataramanan <anirudh.venkataramanan@intel.com>
Tested-by: default avatarAndrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: default avatarJeff Kirsher <jeffrey.t.kirsher@intel.com>
parent cf6c6e01
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -403,6 +403,10 @@ ice_prepare_for_reset(struct ice_pf *pf)
{
	struct ice_hw *hw = &pf->hw;

	/* already prepared for reset */
	if (test_bit(__ICE_PREPARED_FOR_RESET, pf->state))
		return;

	/* Notify VFs of impending reset */
	if (ice_check_sq_alive(hw, &hw->mailboxq))
		ice_vc_notify_reset(pf);
@@ -486,7 +490,6 @@ static void ice_reset_subtask(struct ice_pf *pf)
		/* return if no valid reset type requested */
		if (reset_type == ICE_RESET_INVAL)
			return;
		if (!test_bit(__ICE_PREPARED_FOR_RESET, pf->state))
		ice_prepare_for_reset(pf);

		/* make sure we are ready to rebuild */