summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Antipov <dmantipov@yandex.ru>2026-07-23 10:16:29 +0300
committerLeon Romanovsky <leon@kernel.org>2026-07-23 05:59:57 -0400
commit7ddcd75596cf124d84cfe9f36ea877e7d87f9dcc (patch)
treedf7f15b21771153625f5de85500ef2cd1e84e34f
parentdb19e7c131c0442f7625d5e4153a4184afc8c215 (diff)
downloadlinux-next-7ddcd75596cf124d84cfe9f36ea877e7d87f9dcc.tar.gz
linux-next-7ddcd75596cf124d84cfe9f36ea877e7d87f9dcc.zip
RDMA/bnxt_re: simplify bnxt_re_cc_config_set() and cq_coal_cfg_write()
Simplify 'bnxt_re_cc_config_set()' and 'cq_coal_cfg_write()' by using the convenient 'kstrtou32_from_user()'. Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Link: https://patch.msgid.link/20260723071629.568675-1-dmantipov@yandex.ru Signed-off-by: Leon Romanovsky <leon@kernel.org>
-rw-r--r--drivers/infiniband/hw/bnxt_re/debugfs.c31
1 files changed, 7 insertions, 24 deletions
diff --git a/drivers/infiniband/hw/bnxt_re/debugfs.c b/drivers/infiniband/hw/bnxt_re/debugfs.c
index 143e9bfc6b79..efcfec8ec25c 100644
--- a/drivers/infiniband/hw/bnxt_re/debugfs.c
+++ b/drivers/infiniband/hw/bnxt_re/debugfs.c
@@ -308,21 +308,12 @@ static ssize_t bnxt_re_cc_config_set(struct file *filp, const char __user *buffe
struct bnxt_re_dev *rdev = dbg_cc_param->rdev;
u32 offset = dbg_cc_param->offset;
u8 cc_gen = dbg_cc_param->cc_gen;
- char buf[16];
u32 val;
int rc;
- if (count >= sizeof(buf))
- return -EINVAL;
-
- if (copy_from_user(buf, buffer, count))
- return -EFAULT;
-
- buf[count] = '\0';
- if (kstrtou32(buf, 0, &val))
- return -EINVAL;
-
- rc = bnxt_re_configure_cc(rdev, cc_gen, offset, val);
+ rc = kstrtou32_from_user(buffer, count, 0, &val);
+ if (!rc)
+ rc = bnxt_re_configure_cc(rdev, cc_gen, offset, val);
return rc ? rc : count;
}
@@ -374,20 +365,12 @@ static ssize_t cq_coal_cfg_write(struct file *file,
struct seq_file *s = file->private_data;
struct bnxt_re_cq_coal_param *param = s->private;
struct bnxt_re_dev *rdev = param->rdev;
- int offset = param->offset;
- char lbuf[16] = { };
+ int ret, offset = param->offset;
u32 val;
- if (count > sizeof(lbuf))
- return -EINVAL;
-
- if (copy_from_user(lbuf, buf, count))
- return -EFAULT;
-
- lbuf[sizeof(lbuf) - 1] = '\0';
-
- if (kstrtou32(lbuf, 0, &val))
- return -EINVAL;
+ ret = kstrtou32_from_user(buf, count, 0, &val);
+ if (ret)
+ return ret;
switch (offset) {
case BNXT_RE_COAL_CQ_BUF_MAXTIME: