aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-lib.c')
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-lib.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
index 3eeab0a99de..9f1c93bbb01 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-lib.c
@@ -2205,3 +2205,20 @@ void iwlagn_set_rxon_chain(struct iwl_priv *priv, struct iwl_rxon_context *ctx)
2205 WARN_ON(active_rx_cnt == 0 || idle_rx_cnt == 0 || 2205 WARN_ON(active_rx_cnt == 0 || idle_rx_cnt == 0 ||
2206 active_rx_cnt < idle_rx_cnt); 2206 active_rx_cnt < idle_rx_cnt);
2207} 2207}
2208
2209u8 iwl_toggle_tx_ant(struct iwl_priv *priv, u8 ant, u8 valid)
2210{
2211 int i;
2212 u8 ind = ant;
2213
2214 if (priv->band == IEEE80211_BAND_2GHZ &&
2215 priv->bt_traffic_load >= IWL_BT_COEX_TRAFFIC_LOAD_HIGH)
2216 return 0;
2217
2218 for (i = 0; i < RATE_ANT_NUM - 1; i++) {
2219 ind = (ind + 1) < RATE_ANT_NUM ? ind + 1 : 0;
2220 if (valid & BIT(ind))
2221 return ind;
2222 }
2223 return ant;
2224}