]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commitdiff
RDMA/hns: Fix non-standard error codes
authorYixian Liu <liuyixian@huawei.com>
Tue, 5 Nov 2019 11:08:01 +0000 (19:08 +0800)
committerSeth Forshee <seth.forshee@canonical.com>
Fri, 20 Mar 2020 21:32:08 +0000 (16:32 -0500)
BugLink: https://launchpad.net/bugs/1859269
It is better to return a linux error code than define a private constant.

Link: https://lore.kernel.org/r/1572952082-6681-9-git-send-email-liweihang@hisilicon.com
Signed-off-by: Yixian Liu <liuyixian@huawei.com>
Signed-off-by: Wenpeng Liang <liangwenpeng@huawei.com>
Signed-off-by: Weihang Li <liweihang@hisilicon.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
(cherry picked from commit 1ceb0b11a8a2363db3bf44f3e0ae4615134733e9)
Signed-off-by: Ike Panhc <ike.pan@canonical.com>
Signed-off-by: Seth Forshee <seth.forshee@canonical.com>
drivers/infiniband/hw/hns/hns_roce_alloc.c
drivers/infiniband/hw/hns/hns_roce_cq.c
drivers/infiniband/hw/hns/hns_roce_mr.c
drivers/infiniband/hw/hns/hns_roce_pd.c
drivers/infiniband/hw/hns/hns_roce_srq.c

index 8c063c598d2af648eba9c643dfb3e849e700a946..da574c26e0637c1846f7543f16cff7a13d337f42 100644 (file)
@@ -55,7 +55,7 @@ int hns_roce_bitmap_alloc(struct hns_roce_bitmap *bitmap, unsigned long *obj)
                        bitmap->last = 0;
                *obj |= bitmap->top;
        } else {
-               ret = -1;
+               ret = -EINVAL;
        }
 
        spin_unlock(&bitmap->lock);
@@ -100,7 +100,7 @@ int hns_roce_bitmap_alloc_range(struct hns_roce_bitmap *bitmap, int cnt,
                }
                *obj |= bitmap->top;
        } else {
-               ret = -1;
+               ret = -EINVAL;
        }
 
        spin_unlock(&bitmap->lock);
index 713df1f78388f4eab1470903077e6be8ca4d5d73..699c987f8da48de55f776b2cde117c8c80b919cc 100644 (file)
@@ -116,9 +116,9 @@ static int hns_roce_cq_alloc(struct hns_roce_dev *hr_dev, int nent,
        hr_cq->vector = vector;
 
        ret = hns_roce_bitmap_alloc(&cq_table->bitmap, &hr_cq->cqn);
-       if (ret == -1) {
+       if (ret) {
                dev_err(dev, "CQ alloc.Failed to alloc index.\n");
-               return -ENOMEM;
+               return ret;
        }
 
        /* Get CQC memory HEM(Hardware Entry Memory) table */
index b810df354e2d8193255e69bb17d27af34f9dead7..0fa8f622fc04b8807c81fb9a12c9ec3d1a1365f0 100644 (file)
@@ -83,7 +83,7 @@ static int hns_roce_buddy_alloc(struct hns_roce_buddy *buddy, int order,
                }
        }
        spin_unlock(&buddy->lock);
-       return -1;
+       return -EINVAL;
 
  found:
        clear_bit(*seg, buddy->bits[o]);
@@ -206,13 +206,14 @@ static int hns_roce_alloc_mtt_range(struct hns_roce_dev *hr_dev, int order,
        }
 
        ret = hns_roce_buddy_alloc(buddy, order, seg);
-       if (ret == -1)
-               return -1;
+       if (ret)
+               return ret;
 
-       if (hns_roce_table_get_range(hr_dev, table, *seg,
-                                    *seg + (1 << order) - 1)) {
+       ret = hns_roce_table_get_range(hr_dev, table, *seg,
+                                      *seg + (1 << order) - 1);
+       if (ret) {
                hns_roce_buddy_free(buddy, *seg, order);
-               return -1;
+               return ret;
        }
 
        return 0;
@@ -578,7 +579,7 @@ static int hns_roce_mr_alloc(struct hns_roce_dev *hr_dev, u32 pd, u64 iova,
 
        /* Allocate a key for mr from mr_table */
        ret = hns_roce_bitmap_alloc(&hr_dev->mr_table.mtpt_bitmap, &index);
-       if (ret == -1)
+       if (ret)
                return -ENOMEM;
 
        mr->iova = iova;                        /* MR va starting addr */
index 912b89b4da345470aa5699021fddb8a8861b0a9d..780c780fdb220be16701972a1e98ec5127d5ebf0 100644 (file)
@@ -96,7 +96,7 @@ int hns_roce_uar_alloc(struct hns_roce_dev *hr_dev, struct hns_roce_uar *uar)
 
        /* Using bitmap to manager UAR index */
        ret = hns_roce_bitmap_alloc(&hr_dev->uar_table.bitmap, &uar->logic_idx);
-       if (ret == -1)
+       if (ret)
                return -ENOMEM;
 
        if (uar->logic_idx > 0 && hr_dev->caps.phy_num_uars > 1)
index 14342cd6f7298a05276ed9943abab4e18a41b411..d925eccf81da7b71d945283b6979b194c570492f 100644 (file)
@@ -111,7 +111,7 @@ static int hns_roce_srq_alloc(struct hns_roce_dev *hr_dev, u32 pdn, u32 cqn,
        }
 
        ret = hns_roce_bitmap_alloc(&srq_table->bitmap, &srq->srqn);
-       if (ret == -1) {
+       if (ret) {
                dev_err(hr_dev->dev, "SRQ alloc.Failed to alloc index.\n");
                return -ENOMEM;
        }