From: Stefan Assmann Date: Wed, 1 Dec 2021 08:14:34 +0000 (+0100) Subject: iavf: do not override the adapter state in the watchdog task (again) X-Git-Tag: baikal/mips/sdk6.1~6857^2~20^2 X-Git-Url: https://git.baikalelectronics.ru/?a=commitdiff_plain;h=b6d69a0ba6344b8cb95da30f2ba8624347153d07;p=kernel.git iavf: do not override the adapter state in the watchdog task (again) The watchdog task incorrectly changes the state to __IAVF_RESETTING, instead of letting the reset task take care of that. This was already resolved by commit a15f78ea1171 ("iavf: do not override the adapter state in the watchdog task") but the problem was reintroduced by the recent code refactoring in commit 5e34a07e771d ("iavf: Refactor iavf state machine tracking"). Fixes: 5e34a07e771d ("iavf: Refactor iavf state machine tracking") Signed-off-by: Stefan Assmann Tested-by: Konrad Jankowski Signed-off-by: Tony Nguyen --- diff --git a/drivers/net/ethernet/intel/iavf/iavf_main.c b/drivers/net/ethernet/intel/iavf/iavf_main.c index 884a19c515433..4e7c04047f917 100644 --- a/drivers/net/ethernet/intel/iavf/iavf_main.c +++ b/drivers/net/ethernet/intel/iavf/iavf_main.c @@ -2085,7 +2085,6 @@ static void iavf_watchdog_task(struct work_struct *work) /* check for hw reset */ reg_val = rd32(hw, IAVF_VF_ARQLEN1) & IAVF_VF_ARQLEN1_ARQENABLE_MASK; if (!reg_val) { - iavf_change_state(adapter, __IAVF_RESETTING); adapter->flags |= IAVF_FLAG_RESET_PENDING; adapter->aq_required = 0; adapter->current_op = VIRTCHNL_OP_UNKNOWN;