From: Junxian Huang Date: Tue, 11 Mar 2025 08:48:55 +0000 (+0800) Subject: RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common() X-Git-Tag: v6.14~17^2~2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=444907dd45cbe62fd69398805b6e2c626fab5b3a;p=thirdparty%2Flinux.git RDMA/hns: Fix a missing rollback in error path of hns_roce_create_qp_common() 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 Link: https://patch.msgid.link/20250311084857.3803665-6-huangjunxian6@hisilicon.com Signed-off-by: Leon Romanovsky --- diff --git a/drivers/infiniband/hw/hns/hns_roce_qp.c b/drivers/infiniband/hw/hns/hns_roce_qp.c index 8408f9a5c309d..52b671156246b 100644 --- a/drivers/infiniband/hw/hns/hns_roce_qp.c +++ b/drivers/infiniband/hw/hns/hns_roce_qp.c @@ -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; } }