Commit 23b83301 authored by Dmitry Antipov's avatar Dmitry Antipov Committed by Kalle Valo

wifi: rtw88: use kstrtoX_from_user() in debugfs handlers

When 'sscanf()' is not needed to scan an input, prefer common
'kstrtoX_from_user()' over 'rtw_debugfs_copy_from_user()' with
following 'kstrtoX()'. Minor adjustments, compile tested only.
Signed-off-by: default avatarDmitry Antipov <dmantipov@yandex.ru>
Acked-by: default avatarPing-Ke Shih <pkshih@realtek.com>
Signed-off-by: default avatarKalle Valo <kvalo@kernel.org>
Link: https://msgid.link/20240110132930.438828-1-dmantipov@yandex.ru
parent ece90a86
...@@ -316,23 +316,13 @@ static ssize_t rtw_debugfs_set_single_input(struct file *filp, ...@@ -316,23 +316,13 @@ static ssize_t rtw_debugfs_set_single_input(struct file *filp,
{ {
struct seq_file *seqpriv = (struct seq_file *)filp->private_data; struct seq_file *seqpriv = (struct seq_file *)filp->private_data;
struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private;
struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
char tmp[32 + 1];
u32 input; u32 input;
int num;
int ret; int ret;
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); ret = kstrtou32_from_user(buffer, count, 0, &input);
if (ret) if (ret)
return ret; return ret;
num = kstrtoint(tmp, 0, &input);
if (num) {
rtw_warn(rtwdev, "kstrtoint failed\n");
return num;
}
debugfs_priv->cb_data = input; debugfs_priv->cb_data = input;
return count; return count;
...@@ -485,19 +475,12 @@ static ssize_t rtw_debugfs_set_fix_rate(struct file *filp, ...@@ -485,19 +475,12 @@ static ssize_t rtw_debugfs_set_fix_rate(struct file *filp,
struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
struct rtw_dm_info *dm_info = &rtwdev->dm_info; struct rtw_dm_info *dm_info = &rtwdev->dm_info;
u8 fix_rate; u8 fix_rate;
char tmp[32 + 1];
int ret; int ret;
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); ret = kstrtou8_from_user(buffer, count, 0, &fix_rate);
if (ret) if (ret)
return ret; return ret;
ret = kstrtou8(tmp, 0, &fix_rate);
if (ret) {
rtw_warn(rtwdev, "invalid args, [rate]\n");
return ret;
}
dm_info->fix_rate = fix_rate; dm_info->fix_rate = fix_rate;
return count; return count;
...@@ -879,20 +862,13 @@ static ssize_t rtw_debugfs_set_coex_enable(struct file *filp, ...@@ -879,20 +862,13 @@ static ssize_t rtw_debugfs_set_coex_enable(struct file *filp,
struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private;
struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
struct rtw_coex *coex = &rtwdev->coex; struct rtw_coex *coex = &rtwdev->coex;
char tmp[32 + 1];
bool enable; bool enable;
int ret; int ret;
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); ret = kstrtobool_from_user(buffer, count, &enable);
if (ret) if (ret)
return ret; return ret;
ret = kstrtobool(tmp, &enable);
if (ret) {
rtw_warn(rtwdev, "invalid arguments\n");
return ret;
}
mutex_lock(&rtwdev->mutex); mutex_lock(&rtwdev->mutex);
coex->manual_control = !enable; coex->manual_control = !enable;
mutex_unlock(&rtwdev->mutex); mutex_unlock(&rtwdev->mutex);
...@@ -951,18 +927,13 @@ static ssize_t rtw_debugfs_set_fw_crash(struct file *filp, ...@@ -951,18 +927,13 @@ static ssize_t rtw_debugfs_set_fw_crash(struct file *filp,
struct seq_file *seqpriv = (struct seq_file *)filp->private_data; struct seq_file *seqpriv = (struct seq_file *)filp->private_data;
struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private;
struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
char tmp[32 + 1];
bool input; bool input;
int ret; int ret;
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1); ret = kstrtobool_from_user(buffer, count, &input);
if (ret) if (ret)
return ret; return ret;
ret = kstrtobool(tmp, &input);
if (ret)
return -EINVAL;
if (!input) if (!input)
return -EINVAL; return -EINVAL;
...@@ -1030,11 +1001,12 @@ static ssize_t rtw_debugfs_set_dm_cap(struct file *filp, ...@@ -1030,11 +1001,12 @@ static ssize_t rtw_debugfs_set_dm_cap(struct file *filp,
struct rtw_debugfs_priv *debugfs_priv = seqpriv->private; struct rtw_debugfs_priv *debugfs_priv = seqpriv->private;
struct rtw_dev *rtwdev = debugfs_priv->rtwdev; struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
struct rtw_dm_info *dm_info = &rtwdev->dm_info; struct rtw_dm_info *dm_info = &rtwdev->dm_info;
int bit; int ret, bit;
bool en; bool en;
if (kstrtoint_from_user(buffer, count, 10, &bit)) ret = kstrtoint_from_user(buffer, count, 10, &bit);
return -EINVAL; if (ret)
return ret;
en = bit > 0; en = bit > 0;
bit = abs(bit); bit = abs(bit);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment