iwlwifi: mvm: rs: remove the ANT C from the toogle antenna logic
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 18 Oct 2017 10:09:38 +0000 (13:09 +0300)
committerLuca Coelho <luciano.coelho@intel.com>
Fri, 3 Nov 2017 09:56:08 +0000 (11:56 +0200)
We don't plan to have products with 3 antennas in the near
future. All the rest of the code follows the same
assumption as well.
Remove the support for antenna C from rs_toggle_ant.
When trying to toggle from ANT_B, this avoids to go through
ANT_C, discover that it doesn't exist and continue to ANT_A.
In MIMO, this avoids to do ANT_AB -> ANT_BC -> ANT_AC and
back to ANT_AB.

Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
drivers/net/wireless/intel/iwlwifi/mvm/rs.c

index 0fe723c..c69515e 100644 (file)
@@ -67,12 +67,8 @@ static u8 rs_ht_to_legacy[] = {
 static const u8 ant_toggle_lookup[] = {
        [ANT_NONE] = ANT_NONE,
        [ANT_A] = ANT_B,
-       [ANT_B] = ANT_C,
-       [ANT_AB] = ANT_BC,
-       [ANT_C] = ANT_A,
-       [ANT_AC] = ANT_AB,
-       [ANT_BC] = ANT_AC,
-       [ANT_ABC] = ANT_ABC,
+       [ANT_B] = ANT_A,
+       [ANT_AB] = ANT_AB,
 };
 
 #define IWL_DECLARE_RATE_INFO(r, s, rp, rn)                          \
@@ -975,7 +971,7 @@ static int rs_toggle_antenna(u32 valid_ant, struct rs_rate *rate)
 {
        u8 new_ant_type;
 
-       if (!rate->ant || rate->ant > ANT_ABC)
+       if (!rate->ant || WARN_ON_ONCE(rate->ant & ANT_C))
                return 0;
 
        if (!rs_is_valid_ant(valid_ant, rate->ant))