Commit 9ab7a70
bnxt_en: Fix error handling path in bnxt_init_chip()
WARN_ON() is triggered in __flush_work() if bnxt_init_chip() fails
because we call cancel_work_sync() on dim work that has not been
initialized.
WARNING: CPU: 37 PID: 5223 at kernel/workqueue.c:4201 __flush_work.isra.0+0x212/0x230
The driver relies on the BNXT_STATE_NAPI_DISABLED bit to check if dim
work has already been cancelled. But in the bnxt_open() path,
BNXT_STATE_NAPI_DISABLED is not set and this causes the error
path to think that it needs to cancel the uninitalized dim work.
Fix it by setting BNXT_STATE_NAPI_DISABLED during initialization.
The bit will be cleared when we enable NAPI and initialize dim work.
Fixes: 4045296 ("bnxt_en: Fix DIM shutdown")
Suggested-by: Somnath Kotur <[email protected]>
Reviewed-by: Somnath Kotur <[email protected]>
Signed-off-by: Shravya KN <[email protected]>
Signed-off-by: Michael Chan <[email protected]>
Signed-off-by: David S. Miller <[email protected]>1 parent b936a9b commit 9ab7a70
1 file changed
+3
-0
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11602 | 11602 | | |
11603 | 11603 | | |
11604 | 11604 | | |
| 11605 | + | |
| 11606 | + | |
| 11607 | + | |
11605 | 11608 | | |
11606 | 11609 | | |
11607 | 11610 | | |
| |||
0 commit comments