iwlwifi: mvm: rs: disable MIMO for low latency P2P
authorEyal Shapira <eyal@wizery.com>
Sun, 1 Feb 2015 19:46:00 +0000 (21:46 +0200)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Sun, 1 Mar 2015 14:55:04 +0000 (16:55 +0200)
Due to issues with Miracast adapters MIMO reception disable
use of MIMO when for low latency P2P traffic.

Signed-off-by: Eyal Shapira <eyalx.shapira@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/rs.c

index 37002cfbe87292f24323ded103372a826f9ff127..2bed5777d031f98eea88f412000efb28c9ad16ac 100644 (file)
@@ -160,6 +160,9 @@ static bool rs_mimo_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
                          struct iwl_scale_tbl_info *tbl,
                          const struct rs_tx_column *next_col)
 {
+       struct iwl_mvm_sta *mvmsta;
+       struct iwl_mvm_vif *mvmvif;
+
        if (!sta->ht_cap.ht_supported)
                return false;
 
@@ -172,6 +175,11 @@ static bool rs_mimo_allow(struct iwl_mvm *mvm, struct ieee80211_sta *sta,
        if (!iwl_mvm_bt_coex_is_mimo_allowed(mvm, sta))
                return false;
 
+       mvmsta = iwl_mvm_sta_from_mac80211(sta);
+       mvmvif = iwl_mvm_vif_from_mac80211(mvmsta->vif);
+       if (iwl_mvm_vif_low_latency(mvmvif) && mvmsta->vif->p2p)
+               return false;
+
        return true;
 }