mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-10 13:59:45 -04:00
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: Dmitry Antipov <dmantipov@yandex.ru> Acked-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Kalle Valo <kvalo@kernel.org> Link: https://msgid.link/20240110132930.438828-1-dmantipov@yandex.ru
This commit is contained in:
committed by
Kalle Valo
parent
ece90a8622
commit
23b8330156
@@ -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 rtw_debugfs_priv *debugfs_priv = seqpriv->private;
|
||||
struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
|
||||
char tmp[32 + 1];
|
||||
u32 input;
|
||||
int num;
|
||||
int ret;
|
||||
|
||||
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1);
|
||||
ret = kstrtou32_from_user(buffer, count, 0, &input);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
num = kstrtoint(tmp, 0, &input);
|
||||
|
||||
if (num) {
|
||||
rtw_warn(rtwdev, "kstrtoint failed\n");
|
||||
return num;
|
||||
}
|
||||
|
||||
debugfs_priv->cb_data = input;
|
||||
|
||||
return count;
|
||||
@@ -485,19 +475,12 @@ static ssize_t rtw_debugfs_set_fix_rate(struct file *filp,
|
||||
struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
|
||||
struct rtw_dm_info *dm_info = &rtwdev->dm_info;
|
||||
u8 fix_rate;
|
||||
char tmp[32 + 1];
|
||||
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)
|
||||
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;
|
||||
|
||||
return count;
|
||||
@@ -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_dev *rtwdev = debugfs_priv->rtwdev;
|
||||
struct rtw_coex *coex = &rtwdev->coex;
|
||||
char tmp[32 + 1];
|
||||
bool enable;
|
||||
int ret;
|
||||
|
||||
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1);
|
||||
ret = kstrtobool_from_user(buffer, count, &enable);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = kstrtobool(tmp, &enable);
|
||||
if (ret) {
|
||||
rtw_warn(rtwdev, "invalid arguments\n");
|
||||
return ret;
|
||||
}
|
||||
|
||||
mutex_lock(&rtwdev->mutex);
|
||||
coex->manual_control = !enable;
|
||||
mutex_unlock(&rtwdev->mutex);
|
||||
@@ -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 rtw_debugfs_priv *debugfs_priv = seqpriv->private;
|
||||
struct rtw_dev *rtwdev = debugfs_priv->rtwdev;
|
||||
char tmp[32 + 1];
|
||||
bool input;
|
||||
int ret;
|
||||
|
||||
ret = rtw_debugfs_copy_from_user(tmp, sizeof(tmp), buffer, count, 1);
|
||||
ret = kstrtobool_from_user(buffer, count, &input);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = kstrtobool(tmp, &input);
|
||||
if (ret)
|
||||
return -EINVAL;
|
||||
|
||||
if (!input)
|
||||
return -EINVAL;
|
||||
|
||||
@@ -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_dev *rtwdev = debugfs_priv->rtwdev;
|
||||
struct rtw_dm_info *dm_info = &rtwdev->dm_info;
|
||||
int bit;
|
||||
int ret, bit;
|
||||
bool en;
|
||||
|
||||
if (kstrtoint_from_user(buffer, count, 10, &bit))
|
||||
return -EINVAL;
|
||||
ret = kstrtoint_from_user(buffer, count, 10, &bit);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
en = bit > 0;
|
||||
bit = abs(bit);
|
||||
|
||||
Reference in New Issue
Block a user