diff options
author | Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com> | 2022-10-24 03:05:25 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2022-10-25 16:18:31 -0700 |
commit | 52424f974bc53c26ba3f00300a00e9de9afcd972 (patch) | |
tree | 997ba16e666974204486361db5c146a2764a84c9 /kernel/kexec_core.c | |
parent | 54b5af5a438076082d482cab105b1bd484ab5074 (diff) |
i40e: Fix VF hang when reset is triggered on another VF
When a reset was triggered on one VF with i40e_reset_vf
global PF state __I40E_VF_DISABLE was set on a PF until
the reset finished. If immediately after triggering reset
on one VF there is a request to reset on another
it will cause a hang on VF side because VF will be notified
of incoming reset but the reset will never happen because
of this global state, we will get such error message:
[ +4.890195] iavf 0000:86:02.1: Never saw reset
and VF will hang waiting for the reset to be triggered.
Fix this by introducing new VF state I40E_VF_STATE_RESETTING
that will be set on a VF if it is currently resetting instead of
the global __I40E_VF_DISABLE PF state.
Fixes: 3ba9bcb4b68f ("i40e: add locking around VF reset")
Signed-off-by: Sylwester Dziedziuch <sylwesterx.dziedziuch@intel.com>
Signed-off-by: Mateusz Palczewski <mateusz.palczewski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Jacob Keller <jacob.e.keller@intel.com>
Link: https://lore.kernel.org/r/20221024100526.1874914-2-jacob.e.keller@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'kernel/kexec_core.c')
0 files changed, 0 insertions, 0 deletions