Commit 8a0bd168 authored by Johannes Berg's avatar Johannes Berg Committed by Emmanuel Grumbach

iwlwifi: mvm: small debugfs cleanups

Just clean up the code a bit, in particular
 * make all the debugfs writes follow the same pattern
   with respect to buf/buf_size variables
 * get rid of useless comments
 * check return values of all file creations
 * drop unnecessary parentheses
 * remove an unused struct definition
 * fix some whitespace
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
Signed-off-by: default avatarEmmanuel Grumbach <emmanuel.grumbach@intel.com>
parent 8a5e3660
...@@ -65,26 +65,19 @@ ...@@ -65,26 +65,19 @@
#include "iwl-io.h" #include "iwl-io.h"
#include "iwl-prph.h" #include "iwl-prph.h"
struct iwl_dbgfs_mvm_ctx {
struct iwl_mvm *mvm;
struct ieee80211_vif *vif;
};
static ssize_t iwl_dbgfs_tx_flush_write(struct file *file, static ssize_t iwl_dbgfs_tx_flush_write(struct file *file,
const char __user *user_buf, const char __user *user_buf,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
char buf[16] = {};
char buf[16]; size_t buf_size = min(count, sizeof(buf) - 1);
int buf_size, ret; int ret;
u32 scd_q_msk; u32 scd_q_msk;
if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
return -EIO; return -EIO;
memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT; return -EFAULT;
...@@ -106,15 +99,13 @@ static ssize_t iwl_dbgfs_sta_drain_write(struct file *file, ...@@ -106,15 +99,13 @@ static ssize_t iwl_dbgfs_sta_drain_write(struct file *file,
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
struct ieee80211_sta *sta; struct ieee80211_sta *sta;
char buf[8] = {};
char buf[8]; size_t buf_size = min(count, sizeof(buf) - 1);
int buf_size, sta_id, drain, ret; int sta_id, drain, ret;
if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR)
return -EIO; return -EIO;
memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT; return -EFAULT;
...@@ -200,12 +191,10 @@ static ssize_t iwl_dbgfs_sram_write(struct file *file, ...@@ -200,12 +191,10 @@ static ssize_t iwl_dbgfs_sram_write(struct file *file,
loff_t *ppos) loff_t *ppos)
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
char buf[64]; char buf[64] = {};
int buf_size; size_t buf_size = min(count, sizeof(buf) - 1);
u32 offset, len; u32 offset, len;
memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT; return -EFAULT;
...@@ -274,14 +263,14 @@ static ssize_t iwl_dbgfs_disable_power_off_write(struct file *file, ...@@ -274,14 +263,14 @@ static ssize_t iwl_dbgfs_disable_power_off_write(struct file *file,
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
char buf[64] = {}; char buf[64] = {};
size_t buf_size = min(count, sizeof(buf) - 1);
int ret; int ret;
int val; int val;
if (!mvm->ucode_loaded) if (!mvm->ucode_loaded)
return -EIO; return -EIO;
count = min_t(size_t, count, sizeof(buf) - 1); if (copy_from_user(buf, user_buf, buf_size))
if (copy_from_user(buf, user_buf, count))
return -EFAULT; return -EFAULT;
if (!strncmp("disable_power_off_d0=", buf, 21)) { if (!strncmp("disable_power_off_d0=", buf, 21)) {
...@@ -319,11 +308,10 @@ static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm, ...@@ -319,11 +308,10 @@ static void iwl_dbgfs_update_pm(struct iwl_mvm *mvm,
int dtimper_msec = dtimper * vif->bss_conf.beacon_int; int dtimper_msec = dtimper * vif->bss_conf.beacon_int;
IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val); IWL_DEBUG_POWER(mvm, "debugfs: set keep_alive= %d sec\n", val);
if (val * MSEC_PER_SEC < 3 * dtimper_msec) { if (val * MSEC_PER_SEC < 3 * dtimper_msec)
IWL_WARN(mvm, IWL_WARN(mvm,
"debugfs: keep alive period (%ld msec) is less than minimum required (%d msec)\n", "debugfs: keep alive period (%ld msec) is less than minimum required (%d msec)\n",
val * MSEC_PER_SEC, 3 * dtimper_msec); val * MSEC_PER_SEC, 3 * dtimper_msec);
}
dbgfs_pm->keep_alive_seconds = val; dbgfs_pm->keep_alive_seconds = val;
break; break;
} }
...@@ -372,11 +360,11 @@ static ssize_t iwl_dbgfs_pm_params_write(struct file *file, ...@@ -372,11 +360,11 @@ static ssize_t iwl_dbgfs_pm_params_write(struct file *file,
struct iwl_mvm *mvm = mvmvif->dbgfs_data; struct iwl_mvm *mvm = mvmvif->dbgfs_data;
enum iwl_dbgfs_pm_mask param; enum iwl_dbgfs_pm_mask param;
char buf[32] = {}; char buf[32] = {};
size_t buf_size = min(count, sizeof(buf) - 1);
int val; int val;
int ret; int ret;
count = min_t(size_t, count, sizeof(buf) - 1); if (copy_from_user(buf, user_buf, buf_size))
if (copy_from_user(buf, user_buf, count))
return -EFAULT; return -EFAULT;
if (!strncmp("keep_alive=", buf, 11)) { if (!strncmp("keep_alive=", buf, 11)) {
...@@ -471,7 +459,7 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file, ...@@ -471,7 +459,7 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file,
pos += scnprintf(buf+pos, bufsz-pos, "bssid: %pM\n", pos += scnprintf(buf+pos, bufsz-pos, "bssid: %pM\n",
vif->bss_conf.bssid); vif->bss_conf.bssid);
pos += scnprintf(buf+pos, bufsz-pos, "QoS:\n"); pos += scnprintf(buf+pos, bufsz-pos, "QoS:\n");
for (i = 0; i < ARRAY_SIZE(mvmvif->queue_params); i++) { for (i = 0; i < ARRAY_SIZE(mvmvif->queue_params); i++)
pos += scnprintf(buf+pos, bufsz-pos, pos += scnprintf(buf+pos, bufsz-pos,
"\t%d: txop:%d - cw_min:%d - cw_max = %d - aifs = %d upasd = %d\n", "\t%d: txop:%d - cw_min:%d - cw_max = %d - aifs = %d upasd = %d\n",
i, mvmvif->queue_params[i].txop, i, mvmvif->queue_params[i].txop,
...@@ -479,7 +467,6 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file, ...@@ -479,7 +467,6 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file,
mvmvif->queue_params[i].cw_max, mvmvif->queue_params[i].cw_max,
mvmvif->queue_params[i].aifs, mvmvif->queue_params[i].aifs,
mvmvif->queue_params[i].uapsd); mvmvif->queue_params[i].uapsd);
}
if (vif->type == NL80211_IFTYPE_STATION && if (vif->type == NL80211_IFTYPE_STATION &&
ap_sta_id != IWL_MVM_STATION_COUNT) { ap_sta_id != IWL_MVM_STATION_COUNT) {
...@@ -496,12 +483,11 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file, ...@@ -496,12 +483,11 @@ static ssize_t iwl_dbgfs_mac_params_read(struct file *file,
rcu_read_lock(); rcu_read_lock();
chanctx_conf = rcu_dereference(vif->chanctx_conf); chanctx_conf = rcu_dereference(vif->chanctx_conf);
if (chanctx_conf) { if (chanctx_conf)
pos += scnprintf(buf+pos, bufsz-pos, pos += scnprintf(buf+pos, bufsz-pos,
"idle rx chains %d, active rx chains: %d\n", "idle rx chains %d, active rx chains: %d\n",
chanctx_conf->rx_chains_static, chanctx_conf->rx_chains_static,
chanctx_conf->rx_chains_dynamic); chanctx_conf->rx_chains_dynamic);
}
rcu_read_unlock(); rcu_read_unlock();
mutex_unlock(&mvm->mutex); mutex_unlock(&mvm->mutex);
...@@ -845,14 +831,10 @@ iwl_dbgfs_scan_ant_rxchain_write(struct file *file, ...@@ -845,14 +831,10 @@ iwl_dbgfs_scan_ant_rxchain_write(struct file *file,
size_t count, loff_t *ppos) size_t count, loff_t *ppos)
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
char buf[8]; char buf[8] = {};
int buf_size; size_t buf_size = min(count, sizeof(buf) - 1);
u8 scan_rx_ant; u8 scan_rx_ant;
memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1);
/* get the argument from the user and check if it is valid */
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT; return -EFAULT;
if (sscanf(buf, "%hhx", &scan_rx_ant) != 1) if (sscanf(buf, "%hhx", &scan_rx_ant) != 1)
...@@ -862,7 +844,6 @@ iwl_dbgfs_scan_ant_rxchain_write(struct file *file, ...@@ -862,7 +844,6 @@ iwl_dbgfs_scan_ant_rxchain_write(struct file *file,
if (scan_rx_ant & ~iwl_fw_valid_rx_ant(mvm->fw)) if (scan_rx_ant & ~iwl_fw_valid_rx_ant(mvm->fw))
return -EINVAL; return -EINVAL;
/* change the rx antennas for scan command */
mvm->scan_rx_ant = scan_rx_ant; mvm->scan_rx_ant = scan_rx_ant;
return count; return count;
...@@ -922,13 +903,10 @@ static ssize_t iwl_dbgfs_bf_params_write(struct file *file, ...@@ -922,13 +903,10 @@ static ssize_t iwl_dbgfs_bf_params_write(struct file *file,
struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif); struct iwl_mvm_vif *mvmvif = iwl_mvm_vif_from_mac80211(vif);
struct iwl_mvm *mvm = mvmvif->dbgfs_data; struct iwl_mvm *mvm = mvmvif->dbgfs_data;
enum iwl_dbgfs_bf_mask param; enum iwl_dbgfs_bf_mask param;
char buf[256]; char buf[256] = {};
int buf_size; size_t buf_size = min(count, sizeof(buf) - 1);
int value; int value, ret = 0;
int ret = 0;
memset(buf, 0, sizeof(buf));
buf_size = min(count, sizeof(buf) - 1);
if (copy_from_user(buf, user_buf, buf_size)) if (copy_from_user(buf, user_buf, buf_size))
return -EFAULT; return -EFAULT;
...@@ -1012,11 +990,10 @@ static ssize_t iwl_dbgfs_bf_params_write(struct file *file, ...@@ -1012,11 +990,10 @@ static ssize_t iwl_dbgfs_bf_params_write(struct file *file,
mutex_lock(&mvm->mutex); mutex_lock(&mvm->mutex);
iwl_dbgfs_update_bf(vif, param, value); iwl_dbgfs_update_bf(vif, param, value);
if (param == MVM_DEBUGFS_BF_ENABLE_BEACON_FILTER && !value) { if (param == MVM_DEBUGFS_BF_ENABLE_BEACON_FILTER && !value)
ret = iwl_mvm_disable_beacon_filter(mvm, vif); ret = iwl_mvm_disable_beacon_filter(mvm, vif);
} else { else
ret = iwl_mvm_enable_beacon_filter(mvm, vif); ret = iwl_mvm_enable_beacon_filter(mvm, vif);
}
mutex_unlock(&mvm->mutex); mutex_unlock(&mvm->mutex);
return ret ?: count; return ret ?: count;
...@@ -1078,10 +1055,10 @@ static ssize_t iwl_dbgfs_d3_sram_write(struct file *file, ...@@ -1078,10 +1055,10 @@ static ssize_t iwl_dbgfs_d3_sram_write(struct file *file,
{ {
struct iwl_mvm *mvm = file->private_data; struct iwl_mvm *mvm = file->private_data;
char buf[8] = {}; char buf[8] = {};
size_t buf_size = min(count, sizeof(buf) - 1);
int store; int store;
count = min_t(size_t, count, sizeof(buf) - 1); if (copy_from_user(buf, user_buf, buf_size))
if (copy_from_user(buf, user_buf, count))
return -EFAULT; return -EFAULT;
if (sscanf(buf, "%d", &store) != 1) if (sscanf(buf, "%d", &store) != 1)
...@@ -1137,14 +1114,14 @@ static ssize_t iwl_dbgfs_d3_sram_read(struct file *file, char __user *user_buf, ...@@ -1137,14 +1114,14 @@ static ssize_t iwl_dbgfs_d3_sram_read(struct file *file, char __user *user_buf,
#endif #endif
#define MVM_DEBUGFS_READ_FILE_OPS(name) \ #define MVM_DEBUGFS_READ_FILE_OPS(name) \
static const struct file_operations iwl_dbgfs_##name##_ops = { \ static const struct file_operations iwl_dbgfs_##name##_ops = { \
.read = iwl_dbgfs_##name##_read, \ .read = iwl_dbgfs_##name##_read, \
.open = simple_open, \ .open = simple_open, \
.llseek = generic_file_llseek, \ .llseek = generic_file_llseek, \
} }
#define MVM_DEBUGFS_READ_WRITE_FILE_OPS(name) \ #define MVM_DEBUGFS_READ_WRITE_FILE_OPS(name) \
static const struct file_operations iwl_dbgfs_##name##_ops = { \ static const struct file_operations iwl_dbgfs_##name##_ops = { \
.write = iwl_dbgfs_##name##_write, \ .write = iwl_dbgfs_##name##_write, \
.read = iwl_dbgfs_##name##_read, \ .read = iwl_dbgfs_##name##_read, \
.open = simple_open, \ .open = simple_open, \
...@@ -1152,7 +1129,7 @@ static const struct file_operations iwl_dbgfs_##name##_ops = { \ ...@@ -1152,7 +1129,7 @@ static const struct file_operations iwl_dbgfs_##name##_ops = { \
}; };
#define MVM_DEBUGFS_WRITE_FILE_OPS(name) \ #define MVM_DEBUGFS_WRITE_FILE_OPS(name) \
static const struct file_operations iwl_dbgfs_##name##_ops = { \ static const struct file_operations iwl_dbgfs_##name##_ops = { \
.write = iwl_dbgfs_##name##_write, \ .write = iwl_dbgfs_##name##_write, \
.open = simple_open, \ .open = simple_open, \
.llseek = generic_file_llseek, \ .llseek = generic_file_llseek, \
......
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