Commit 9959fda
bnxt_en: Fix regression in workqueue cleanup logic in bnxt_remove_one().
[ Upstream commit 21d6a11 ]
A recent patch has moved the workqueue cleanup logic before
calling unregister_netdev() in bnxt_remove_one(). This caused a
regression because the workqueue can be restarted if the device is
still open. Workqueue cleanup must be done after unregister_netdev().
The workqueue will not restart itself after the device is closed.
Call bnxt_cancel_sp_work() after unregister_netdev() and
call bnxt_dl_fw_reporters_destroy() after that. This fixes the
regession and the original NULL ptr dereference issue.
Fixes: b16939b ("bnxt_en: Fix NULL ptr dereference crash in bnxt_fw_reset_task()")
Signed-off-by: Vasundhara Volam <vasundhara-v.volam@broadcom.com>
Signed-off-by: Michael Chan <michael.chan@broadcom.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>1 parent 524dfe6 commit 9959fda
1 file changed
Lines changed: 5 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
11790 | 11790 | | |
11791 | 11791 | | |
11792 | 11792 | | |
| 11793 | + | |
| 11794 | + | |
| 11795 | + | |
| 11796 | + | |
11793 | 11797 | | |
| 11798 | + | |
11794 | 11799 | | |
11795 | 11800 | | |
11796 | 11801 | | |
11797 | 11802 | | |
11798 | | - | |
11799 | | - | |
11800 | | - | |
11801 | | - | |
11802 | 11803 | | |
11803 | 11804 | | |
11804 | 11805 | | |
| |||
0 commit comments