diff options
author | Kalesh AP <kalesh-anakkur.purayil@broadcom.com> | 2023-08-10 06:44:36 +0200 |
---|---|---|
committer | Jason Gunthorpe <jgg@nvidia.com> | 2023-08-10 21:35:54 +0200 |
commit | 5ac8480ae4d01f0ca5dfd561884424046df2478a (patch) | |
tree | 2abbcc1259dc8f07f72764b0e96b2395182424ba /drivers/infiniband/hw/bnxt_re/main.c | |
parent | RDMA/bnxt_re: Properly order ib_device_unalloc() to avoid UAF (diff) | |
download | linux-5ac8480ae4d01f0ca5dfd561884424046df2478a.tar.xz linux-5ac8480ae4d01f0ca5dfd561884424046df2478a.zip |
RDMA/bnxt_re: Fix error handling in probe failure path
During bnxt_re_dev_init(), when bnxt_re_setup_chip_ctx() fails unregister
with L2 first before bailing out probe.
Fixes: ae8637e13185 ("RDMA/bnxt_re: Add chip context to identify 57500 series")
Link: https://lore.kernel.org/r/1691642677-21369-3-git-send-email-selvin.xavier@broadcom.com
Signed-off-by: Kalesh AP <kalesh-anakkur.purayil@broadcom.com>
Signed-off-by: Selvin Xavier <selvin.xavier@broadcom.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
Diffstat (limited to '')
-rw-r--r-- | drivers/infiniband/hw/bnxt_re/main.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/main.c b/drivers/infiniband/hw/bnxt_re/main.c index 1c7646057893..63e98e2d3596 100644 --- a/drivers/infiniband/hw/bnxt_re/main.c +++ b/drivers/infiniband/hw/bnxt_re/main.c @@ -1253,6 +1253,8 @@ static int bnxt_re_dev_init(struct bnxt_re_dev *rdev, u8 wqe_mode) rc = bnxt_re_setup_chip_ctx(rdev, wqe_mode); if (rc) { + bnxt_unregister_dev(rdev->en_dev); + clear_bit(BNXT_RE_FLAG_NETDEV_REGISTERED, &rdev->flags); ibdev_err(&rdev->ibdev, "Failed to get chip context\n"); return -EINVAL; } |