]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/commitdiff
iavf: do not override the adapter state in the watchdog task (again)
authorStefan Assmann <sassmann@kpanic.de>
Wed, 1 Dec 2021 08:14:34 +0000 (09:14 +0100)
committerPaolo Pisati <paolo.pisati@canonical.com>
Wed, 9 Mar 2022 14:17:58 +0000 (15:17 +0100)
BugLink: https://bugs.launchpad.net/bugs/1964361
commit fe523d7c9a8332855376ad5eb1aa301091129ba4 upstream.

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 22c8fd71d3a5 ("iavf: do not override the adapter
state in the watchdog task") but the problem was reintroduced by the
recent code refactoring in commit 45eebd62999d ("iavf: Refactor iavf
state machine tracking").

Fixes: 45eebd62999d ("iavf: Refactor iavf state machine tracking")
Signed-off-by: Stefan Assmann <sassmann@kpanic.de>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paolo Pisati <paolo.pisati@canonical.com>
drivers/net/ethernet/intel/iavf/iavf_main.c

index 50ecfb1faf61d45ed89335793cc4cdcbac7b166c..696b45f344d1c69781a14c920743ddc354a44ed5 100644 (file)
@@ -2110,7 +2110,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;