diff options
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-lib.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-lib.c | 17 |
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 | |||
2209 | u8 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 | } | ||