aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/iwlwifi/iwl-agn-rs.c19
1 files changed, 13 insertions, 6 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
index 43c796bb5800..cab7842a73aa 100644
--- a/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
+++ b/drivers/net/wireless/iwlwifi/iwl-agn-rs.c
@@ -2473,18 +2473,25 @@ static void rs_dbgfs_set_mcs(struct iwl_lq_sta *lq_sta,
2473 u32 *rate_n_flags, int index) 2473 u32 *rate_n_flags, int index)
2474{ 2474{
2475 struct iwl_priv *priv; 2475 struct iwl_priv *priv;
2476 u8 valid_tx_ant;
2477 u8 ant_sel_tx;
2476 2478
2477 priv = lq_sta->drv; 2479 priv = lq_sta->drv;
2480 valid_tx_ant = priv->hw_params.valid_tx_ant;
2478 if (lq_sta->dbg_fixed_rate) { 2481 if (lq_sta->dbg_fixed_rate) {
2479 if (index < 12) { 2482 ant_sel_tx =
2483 ((lq_sta->dbg_fixed_rate & RATE_MCS_ANT_ABC_MSK)
2484 >> RATE_MCS_ANT_POS);
2485 if ((valid_tx_ant & ant_sel_tx) == ant_sel_tx) {
2480 *rate_n_flags = lq_sta->dbg_fixed_rate; 2486 *rate_n_flags = lq_sta->dbg_fixed_rate;
2487 IWL_DEBUG_RATE(priv, "Fixed rate ON\n");
2481 } else { 2488 } else {
2482 if (lq_sta->band == IEEE80211_BAND_5GHZ) 2489 lq_sta->dbg_fixed_rate = 0;
2483 *rate_n_flags = 0x800D; 2490 IWL_ERR(priv,
2484 else 2491 "Invalid antenna selection 0x%X, Valid is 0x%X\n",
2485 *rate_n_flags = 0x820A; 2492 ant_sel_tx, valid_tx_ant);
2493 IWL_DEBUG_RATE(priv, "Fixed rate OFF\n");
2486 } 2494 }
2487 IWL_DEBUG_RATE(priv, "Fixed rate ON\n");
2488 } else { 2495 } else {
2489 IWL_DEBUG_RATE(priv, "Fixed rate OFF\n"); 2496 IWL_DEBUG_RATE(priv, "Fixed rate OFF\n");
2490 } 2497 }