From: Wei Hu(Xavier) Date: Wed, 30 Aug 2017 09:23:16 +0000 (+0800) Subject: RDMA/hns: Add releasing resource operation in error branch X-Git-Tag: v4.15-rc1~96^2~111^2~98^2~3 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=08eb3018b6d91e0736cffba0a9a8c9aa1d2eb743;p=thirdparty%2Fkernel%2Flinux.git RDMA/hns: Add releasing resource operation in error branch This patch adds releasing resource operation in error branch of the function named hns_roce_table_get. Signed-off-by: Wei Hu (Xavier) Signed-off-by: Doug Ledford --- diff --git a/drivers/infiniband/hw/hns/hns_roce_hem.c b/drivers/infiniband/hw/hns/hns_roce_hem.c index 8a3e174f5b5fa..125e26ebf2507 100644 --- a/drivers/infiniband/hw/hns/hns_roce_hem.c +++ b/drivers/infiniband/hw/hns/hns_roce_hem.c @@ -563,6 +563,8 @@ int hns_roce_table_get(struct hns_roce_dev *hr_dev, /* Set HEM base address(128K/page, pa) to Hardware */ if (hns_roce_set_hem(hr_dev, table, obj)) { + hns_roce_free_hem(hr_dev, table->hem[i]); + table->hem[i] = NULL; ret = -ENODEV; dev_err(dev, "set HEM base address to HW failed.\n"); goto out;