]> git.baikalelectronics.ru Git - kernel.git/commit
i40e: Fix erroneous adapter reinitialization during recovery process
authorDawid Lukwinski <dawid.lukwinski@intel.com>
Fri, 15 Jul 2022 21:45:41 +0000 (14:45 -0700)
committerJakub Kicinski <kuba@kernel.org>
Tue, 19 Jul 2022 03:13:22 +0000 (20:13 -0700)
commit46b977e935b16d788e983a957bc025ecb3310a4c
treeaaa043dcb1a1ae422585173c20cacec4cddde9d1
parent4dd37925b0f19d93326d18b01b5f5174da6b3b20
i40e: Fix erroneous adapter reinitialization during recovery process

Fix an issue when driver incorrectly detects state
of recovery process and erroneously reinitializes interrupts,
which results in a kernel error and call trace message.

The issue was caused by a combination of two factors:
1. Assuming the EMP reset issued after completing
firmware recovery means the whole recovery process is complete.
2. Erroneous reinitialization of interrupt vector after detecting
the above mentioned EMP reset.

Fixes (1) by changing how recovery state change is detected
and (2) by adjusting the conditional expression to ensure using proper
interrupt reinitialization method, depending on the situation.

Fixes: fe353d13c948 ("i40e: Introduce recovery mode support")
Signed-off-by: Dawid Lukwinski <dawid.lukwinski@intel.com>
Signed-off-by: Jan Sokolowski <jan.sokolowski@intel.com>
Tested-by: Konrad Jankowski <konrad0.jankowski@intel.com>
Signed-off-by: Tony Nguyen <anthony.l.nguyen@intel.com>
Link: https://lore.kernel.org/r/20220715214542.2968762-1-anthony.l.nguyen@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/intel/i40e/i40e_main.c