RDMA/hns: fix memory leak in hns_roce_alloc_mr()
[platform/kernel/linux-starfive.git] / drivers / infiniband / hw / hns / hns_roce_mr.c
index 845ac7d..37a5cf6 100644 (file)
@@ -392,10 +392,10 @@ struct ib_mr *hns_roce_alloc_mr(struct ib_pd *pd, enum ib_mr_type mr_type,
 
        return &mr->ibmr;
 
-err_key:
-       free_mr_key(hr_dev, mr);
 err_pbl:
        free_mr_pbl(hr_dev, mr);
+err_key:
+       free_mr_key(hr_dev, mr);
 err_free:
        kfree(mr);
        return ERR_PTR(ret);