iwlwifi: mvm: use dynamic SMPS for P2P Client
authorEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 30 Jul 2014 12:56:42 +0000 (15:56 +0300)
committerEmmanuel Grumbach <emmanuel.grumbach@intel.com>
Wed, 3 Sep 2014 19:33:11 +0000 (22:33 +0300)
This allows to force the GO to use protection and enhances
the reliability of the link.

Reviewed-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
drivers/net/wireless/iwlwifi/mvm/mac80211.c
drivers/net/wireless/iwlwifi/mvm/mvm.h

index 7c8796584c253d322291ec02cd177539a3869a14..83c2ce60cdbb81193fb95d063e783e33a052b17e 100644 (file)
@@ -1481,8 +1481,12 @@ static void iwl_mvm_bss_info_changed_station(struct iwl_mvm *mvm,
 
                        iwl_mvm_sf_update(mvm, vif, false);
                        iwl_mvm_power_vif_assoc(mvm, vif);
-                       if (vif->p2p)
+                       if (vif->p2p) {
                                iwl_mvm_ref(mvm, IWL_MVM_REF_P2P_CLIENT);
+                               iwl_mvm_update_smps(mvm, vif,
+                                                   IWL_MVM_SMPS_REQ_PROT,
+                                                   IEEE80211_SMPS_DYNAMIC);
+                       }
                } else if (mvmvif->ap_sta_id != IWL_MVM_STATION_COUNT) {
                        /*
                         * If update fails - SF might be running in associated
index 802d29e971f747444400896974b6d9eea32ff19a..771cf468e2f8af5c928cba702e0932900e42088b 100644 (file)
@@ -253,6 +253,7 @@ struct iwl_dbgfs_bf {
 enum iwl_mvm_smps_type_request {
        IWL_MVM_SMPS_REQ_BT_COEX,
        IWL_MVM_SMPS_REQ_TT,
+       IWL_MVM_SMPS_REQ_PROT,
        NUM_IWL_MVM_SMPS_REQ,
 };