]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common()
authorJunxian Huang <huangjunxian6@hisilicon.com>
Tue, 11 Mar 2025 08:48:55 +0000 (16:48 +0800)
committerLeon Romanovsky <leon@kernel.org>
Wed, 12 Mar 2025 18:35:50 +0000 (14:35 -0400)
When ib_copy_to_udata() fails in hns_roce_create_qp_common(),
hns_roce_qp_remove() should be called in the error path to
clean up resources in hns_roce_qp_store().

Fixes: 0f00571f9433 ("RDMA/hns: Use new SQ doorbell register for HIP09")
Signed-off-by: Junxian Huang <huangjunxian6@hisilicon.com>
Link: https://patch.msgid.link/20250311084857.3803665-6-huangjunxian6@hisilicon.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/hw/hns/hns_roce_qp.c

index 8408f9a5c309db03cfa51a105c0ef76d41c4f2c1..52b671156246b8ced437ad892ac75176d04f8161 100644 (file)
@@ -1220,7 +1220,7 @@ static int hns_roce_create_qp_common(struct hns_roce_dev *hr_dev,
                                       min(udata->outlen, sizeof(resp)));
                if (ret) {
                        ibdev_err(ibdev, "copy qp resp failed!\n");
-                       goto err_store;
+                       goto err_flow_ctrl;
                }
        }