net: qede: stop adding events on an already destroyed workqueue
Set rdma_wq pointer to NULL after destroying the workqueue and check
for it when adding new events to fix crashes on driver unload.
Fixes: cee9fbd8e2
("qede: Add qedr framework")
Signed-off-by: Alexander Lobakin <alobakin@marvell.com>
Signed-off-by: Igor Russkikh <irusskikh@marvell.com>
Signed-off-by: Michal Kalderon <michal.kalderon@marvell.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
31333c1a25
commit
4079c7f7a2
|
@ -105,6 +105,7 @@ static void qede_rdma_destroy_wq(struct qede_dev *edev)
|
|||
|
||||
qede_rdma_cleanup_event(edev);
|
||||
destroy_workqueue(edev->rdma_info.rdma_wq);
|
||||
edev->rdma_info.rdma_wq = NULL;
|
||||
}
|
||||
|
||||
int qede_rdma_dev_add(struct qede_dev *edev, bool recovery)
|
||||
|
@ -325,7 +326,7 @@ static void qede_rdma_add_event(struct qede_dev *edev,
|
|||
if (edev->rdma_info.exp_recovery)
|
||||
return;
|
||||
|
||||
if (!edev->rdma_info.qedr_dev)
|
||||
if (!edev->rdma_info.qedr_dev || !edev->rdma_info.rdma_wq)
|
||||
return;
|
||||
|
||||
/* We don't want the cleanup flow to start while we're allocating and
|
||||
|
|
Loading…
Reference in New Issue