drivers/infiniband/sw/rdmavt/qp.c | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-)
Change 'ret' from u32 to int in alloc_qpn() to store -EINVAL, and remove
the 'bail' label as it simply returns 'ret'.
Storing negative error codes in an u32 causes no runtime issues, but it's
ugly as pants, Change 'ret' from u32 to int type - this change has no
runtime impact.
Signed-off-by: Qianfeng Rong <rongqianfeng@vivo.com>
---
drivers/infiniband/sw/rdmavt/qp.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/drivers/infiniband/sw/rdmavt/qp.c b/drivers/infiniband/sw/rdmavt/qp.c
index e825e2ef7966..134a79eecfcb 100644
--- a/drivers/infiniband/sw/rdmavt/qp.c
+++ b/drivers/infiniband/sw/rdmavt/qp.c
@@ -492,7 +492,7 @@ static int alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
{
u32 i, offset, max_scan, qpn;
struct rvt_qpn_map *map;
- u32 ret;
+ int ret;
u32 max_qpn = exclude_prefix == RVT_AIP_QP_PREFIX ?
RVT_AIP_QPN_MAX : RVT_QPN_MAX;
@@ -510,7 +510,8 @@ static int alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
else
qpt->flags |= n;
spin_unlock(&qpt->lock);
- goto bail;
+
+ return ret;
}
qpn = qpt->last + qpt->incr;
@@ -530,7 +531,8 @@ static int alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
if (!test_and_set_bit(offset, map->page)) {
qpt->last = qpn;
ret = qpn;
- goto bail;
+
+ return ret;
}
offset += qpt->incr;
/*
@@ -565,10 +567,7 @@ static int alloc_qpn(struct rvt_dev_info *rdi, struct rvt_qpn_table *qpt,
qpn = mk_qpn(qpt, map, offset);
}
- ret = -ENOMEM;
-
-bail:
- return ret;
+ return -ENOMEM;
}
/**
--
2.34.1
On Tue, 26 Aug 2025 23:05:56 +0800, Qianfeng Rong wrote: > Change 'ret' from u32 to int in alloc_qpn() to store -EINVAL, and remove > the 'bail' label as it simply returns 'ret'. > > Storing negative error codes in an u32 causes no runtime issues, but it's > ugly as pants, Change 'ret' from u32 to int type - this change has no > runtime impact. > > [...] Applied, thanks! [1/1] RDMA/rdmavt: Use int type to store negative error codes https://git.kernel.org/rdma/rdma/c/6768aee67b1bd6 Best regards, -- Leon Romanovsky <leon@kernel.org>
© 2016 - 2025 Red Hat, Inc.