aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless
diff options
context:
space:
mode:
authorEyal Shapira <eyal@wizery.com>2013-11-07 12:38:04 -0500
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>2013-12-09 15:29:05 -0500
commita7b8b2ca916ca4ecf248fa12275eeceff510ad22 (patch)
tree5ef69e29b52d9781811a36a99bed585f1a409f08 /drivers/net/wireless
parent84c317c9b09f757b4c4a4fb38549ac54d1559419 (diff)
iwlwifi: fix check for a single rx antenna
valid_rx_ant is a bitmask of available antennas and not the number of Rx antennas. Use num_of_ant and remove duplicate definitions in both dvm and mvm. Signed-off-by: Eyal Shapira <eyal@wizery.com> Reviewed-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r--drivers/net/wireless/iwlwifi/dvm/rs.h7
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-config.h6
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-nvm-parse.c3
-rw-r--r--drivers/net/wireless/iwlwifi/mvm/rs.h8
4 files changed, 8 insertions, 16 deletions
diff --git a/drivers/net/wireless/iwlwifi/dvm/rs.h b/drivers/net/wireless/iwlwifi/dvm/rs.h
index 26fc550cd68c..41988f4b8a5a 100644
--- a/drivers/net/wireless/iwlwifi/dvm/rs.h
+++ b/drivers/net/wireless/iwlwifi/dvm/rs.h
@@ -389,13 +389,6 @@ struct iwl_lq_sta {
389 u8 last_bt_traffic; 389 u8 last_bt_traffic;
390}; 390};
391 391
392static inline u8 num_of_ant(u8 mask)
393{
394 return !!((mask) & ANT_A) +
395 !!((mask) & ANT_B) +
396 !!((mask) & ANT_C);
397}
398
399static inline u8 first_antenna(u8 mask) 392static inline u8 first_antenna(u8 mask)
400{ 393{
401 if (mask & ANT_A) 394 if (mask & ANT_A)
diff --git a/drivers/net/wireless/iwlwifi/iwl-config.h b/drivers/net/wireless/iwlwifi/iwl-config.h
index 03fd9aa8bfda..0b916249669e 100644
--- a/drivers/net/wireless/iwlwifi/iwl-config.h
+++ b/drivers/net/wireless/iwlwifi/iwl-config.h
@@ -129,6 +129,12 @@ enum iwl_led_mode {
129#define ANT_BC (ANT_B | ANT_C) 129#define ANT_BC (ANT_B | ANT_C)
130#define ANT_ABC (ANT_A | ANT_B | ANT_C) 130#define ANT_ABC (ANT_A | ANT_B | ANT_C)
131 131
132static inline u8 num_of_ant(u8 mask)
133{
134 return !!((mask) & ANT_A) +
135 !!((mask) & ANT_B) +
136 !!((mask) & ANT_C);
137}
132 138
133/* 139/*
134 * @max_ll_items: max number of OTP blocks 140 * @max_ll_items: max number of OTP blocks
diff --git a/drivers/net/wireless/iwlwifi/iwl-nvm-parse.c b/drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
index 2fab203d3027..94aef22df73a 100644
--- a/drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
+++ b/drivers/net/wireless/iwlwifi/iwl-nvm-parse.c
@@ -283,7 +283,8 @@ static void iwl_init_vht_hw_capab(const struct iwl_cfg *cfg,
283 IEEE80211_VHT_MCS_NOT_SUPPORTED << 12 | 283 IEEE80211_VHT_MCS_NOT_SUPPORTED << 12 |
284 IEEE80211_VHT_MCS_NOT_SUPPORTED << 14); 284 IEEE80211_VHT_MCS_NOT_SUPPORTED << 14);
285 285
286 if (data->valid_rx_ant == 1 || cfg->rx_with_siso_diversity) { 286 if (num_of_ant(data->valid_rx_ant) == 1 ||
287 cfg->rx_with_siso_diversity) {
287 vht_cap->cap |= IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN | 288 vht_cap->cap |= IEEE80211_VHT_CAP_RX_ANTENNA_PATTERN |
288 IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN; 289 IEEE80211_VHT_CAP_TX_ANTENNA_PATTERN;
289 /* this works because NOT_SUPPORTED == 3 */ 290 /* this works because NOT_SUPPORTED == 3 */
diff --git a/drivers/net/wireless/iwlwifi/mvm/rs.h b/drivers/net/wireless/iwlwifi/mvm/rs.h
index 8d5dc78086ea..b41686b76721 100644
--- a/drivers/net/wireless/iwlwifi/mvm/rs.h
+++ b/drivers/net/wireless/iwlwifi/mvm/rs.h
@@ -343,14 +343,6 @@ enum iwl_bt_coex_profile_traffic_load {
343 */ 343 */
344}; 344};
345 345
346
347static inline u8 num_of_ant(u8 mask)
348{
349 return !!((mask) & ANT_A) +
350 !!((mask) & ANT_B) +
351 !!((mask) & ANT_C);
352}
353
354/* Initialize station's rate scaling information after adding station */ 346/* Initialize station's rate scaling information after adding station */
355void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta, 347void iwl_mvm_rs_rate_init(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
356 enum ieee80211_band band, bool init); 348 enum ieee80211_band band, bool init);