RDMA/bnxt_re: Fix system crash during load/unload
During driver unload, the driver proceeds with cleanup without waiting for the scheduled events. So the device pointers get freed up and driver crashes when the events are scheduled later. Flush the bnxt_re_task work queue before starting device removal. Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com> Signed-off-by: Doug Ledford <dledford@redhat.com>
This commit is contained in:
Родитель
3b921e3bc4
Коммит
dcdaba0806
|
@ -1578,6 +1578,11 @@ static void __exit bnxt_re_mod_exit(void)
|
|||
*/
|
||||
list_for_each_entry_safe_reverse(rdev, next, &to_be_deleted, list) {
|
||||
dev_info(rdev_to_dev(rdev), "Unregistering Device");
|
||||
/*
|
||||
* Flush out any scheduled tasks before destroying the
|
||||
* resources
|
||||
*/
|
||||
flush_workqueue(bnxt_re_wq);
|
||||
bnxt_re_dev_stop(rdev);
|
||||
bnxt_re_ib_unreg(rdev, true);
|
||||
bnxt_re_remove_one(rdev);
|
||||
|
|
Загрузка…
Ссылка в новой задаче