summaryrefslogtreecommitdiffstats
path: root/drivers/net/ethernet/qlogic/qed/qed_roce.c
diff options
context:
space:
mode:
authorAlexander Lobakin <alobakin@marvell.com>2020-06-23 16:51:30 +0300
committerDavid S. Miller <davem@davemloft.net>2020-06-23 15:01:16 -0700
commit31333c1a2521ff4b4ceb0c29de492549cd4a8de3 (patch)
tree0bd4d5a30794442e36d0d17cf0e452065053047c /drivers/net/ethernet/qlogic/qed/qed_roce.c
parent97dd1abd026ae4e6a82fa68645928404ad483409 (diff)
downloadlinux-31333c1a2521ff4b4ceb0c29de492549cd4a8de3.tar.gz
linux-31333c1a2521ff4b4ceb0c29de492549cd4a8de3.tar.bz2
linux-31333c1a2521ff4b4ceb0c29de492549cd4a8de3.zip
net: qed: fix async event callbacks unregistering
qed_spq_unregister_async_cb() should be called before qed_rdma_info_free() to avoid crash-spawning uses-after-free. Instead of calling it from each subsystem exit code, do it in one place on PF down. Fixes: 291d57f67d24 ("qed: Fix rdma_info structure allocation") 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>
Diffstat (limited to 'drivers/net/ethernet/qlogic/qed/qed_roce.c')
-rw-r--r--drivers/net/ethernet/qlogic/qed/qed_roce.c1
1 files changed, 0 insertions, 1 deletions
diff --git a/drivers/net/ethernet/qlogic/qed/qed_roce.c b/drivers/net/ethernet/qlogic/qed/qed_roce.c
index 4566815f7b87..7271dd7166e5 100644
--- a/drivers/net/ethernet/qlogic/qed/qed_roce.c
+++ b/drivers/net/ethernet/qlogic/qed/qed_roce.c
@@ -113,7 +113,6 @@ void qed_roce_stop(struct qed_hwfn *p_hwfn)
break;
}
}
- qed_spq_unregister_async_cb(p_hwfn, PROTOCOLID_ROCE);
}
static void qed_rdma_copy_gids(struct qed_rdma_qp *qp, __le32 *src_gid,