]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
iwlwifi: mvm: rs: add logs for the wrong antenna case
authorGregory Greenman <gregory.greenman@intel.com>
Mon, 24 Apr 2017 06:24:37 +0000 (09:24 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Thu, 22 Jun 2017 21:13:01 +0000 (00:13 +0300)
In case that rate's antenna is wrong at the init stage, it's
very hard to say what went wrong. Add debug data to the already
existing WARN_ON_ONCE.

Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/iwl-config.h
drivers/net/wireless/intel/iwlwifi/mvm/rs.c

index f3236ea7edb57c78beae2217c1ee81c588aa9f1b..127017efdd87ee266ce21733e83e26b8226fa089 100644 (file)
@@ -131,6 +131,7 @@ enum iwl_led_mode {
 
 /* Antenna presence definitions */
 #define        ANT_NONE        0x0
+#define        ANT_INVALID     0xff
 #define        ANT_A           BIT(0)
 #define        ANT_B           BIT(1)
 #define ANT_C          BIT(2)
index aa785cf3cf68399eb724b33d24d9168602f791a1..a02dda8d9ea3e2a110bfd162e7a2b33dfadac6e4 100644 (file)
@@ -2836,7 +2836,11 @@ static void rs_initialize_lq(struct iwl_mvm *mvm,
        rs_get_initial_rate(mvm, sta, lq_sta, band, rate);
        rs_init_optimal_rate(mvm, sta, lq_sta);
 
-       WARN_ON_ONCE(rate->ant != ANT_A && rate->ant != ANT_B);
+       WARN_ONCE(rate->ant != ANT_A && rate->ant != ANT_B,
+                 "ant: 0x%x, chains 0x%x, fw tx ant: 0x%x, nvm tx ant: 0x%x\n",
+                 rate->ant, lq_sta->pers.chains, mvm->fw->valid_tx_ant,
+                 mvm->nvm_data ? mvm->nvm_data->valid_tx_ant : ANT_INVALID);
+
        tbl->column = rs_get_column_from_rate(rate);
 
        rs_set_expected_tpt_table(lq_sta, tbl);