diff options
author | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-01-14 01:30:32 -0500 |
---|---|---|
committer | Emmanuel Grumbach <emmanuel.grumbach@intel.com> | 2014-02-03 15:23:33 -0500 |
commit | f327b04c4240cc6dbce698bea8f8e14db7fc3a8a (patch) | |
tree | 40bf61d0c1d6221c92ff732243dfd5fd1690e140 /drivers/net/wireless/iwlwifi/mvm/debugfs.c | |
parent | 33b2f6845b0c86ade2146ec9f259b857ecebeffc (diff) |
iwlwifi: mvm: provide helper to fetch the iwl_mvm_sta from sta_id
We somtimes need to fetch the iwl_mvm_sta structure from a
station index - provide a helper to do that.
Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/mvm/debugfs.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/mvm/debugfs.c | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/mvm/debugfs.c b/drivers/net/wireless/iwlwifi/mvm/debugfs.c index 369d4c90e669..8d3bf25f00d6 100644 --- a/drivers/net/wireless/iwlwifi/mvm/debugfs.c +++ b/drivers/net/wireless/iwlwifi/mvm/debugfs.c | |||
@@ -90,7 +90,7 @@ static ssize_t iwl_dbgfs_tx_flush_write(struct iwl_mvm *mvm, char *buf, | |||
90 | static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, | 90 | static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, |
91 | size_t count, loff_t *ppos) | 91 | size_t count, loff_t *ppos) |
92 | { | 92 | { |
93 | struct ieee80211_sta *sta; | 93 | struct iwl_mvm_sta *mvmsta; |
94 | int sta_id, drain, ret; | 94 | int sta_id, drain, ret; |
95 | 95 | ||
96 | if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) | 96 | if (!mvm->ucode_loaded || mvm->cur_ucode != IWL_UCODE_REGULAR) |
@@ -105,13 +105,12 @@ static ssize_t iwl_dbgfs_sta_drain_write(struct iwl_mvm *mvm, char *buf, | |||
105 | 105 | ||
106 | mutex_lock(&mvm->mutex); | 106 | mutex_lock(&mvm->mutex); |
107 | 107 | ||
108 | sta = rcu_dereference_protected(mvm->fw_id_to_mac_id[sta_id], | 108 | mvmsta = iwl_mvm_sta_from_staid_protected(mvm, sta_id); |
109 | lockdep_is_held(&mvm->mutex)); | 109 | |
110 | if (IS_ERR_OR_NULL(sta)) | 110 | if (!mvmsta) |
111 | ret = -ENOENT; | 111 | ret = -ENOENT; |
112 | else | 112 | else |
113 | ret = iwl_mvm_drain_sta(mvm, (void *)sta->drv_priv, drain) ? : | 113 | ret = iwl_mvm_drain_sta(mvm, mvmsta, drain) ? : count; |
114 | count; | ||
115 | 114 | ||
116 | mutex_unlock(&mvm->mutex); | 115 | mutex_unlock(&mvm->mutex); |
117 | 116 | ||