aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c')
-rw-r--r--drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
index 5f0701c992a4..ec91dd90acfd 100644
--- a/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
+++ b/drivers/net/wireless/intel/iwlwifi/mvm/mac80211.c
@@ -2844,7 +2844,8 @@ static int iwl_mvm_mac_conf_tx(struct ieee80211_hw *hw,
2844} 2844}
2845 2845
2846static void iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw, 2846static void iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw,
2847 struct ieee80211_vif *vif) 2847 struct ieee80211_vif *vif,
2848 u16 req_duration)
2848{ 2849{
2849 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw); 2850 struct iwl_mvm *mvm = IWL_MAC80211_GET_MVM(hw);
2850 u32 duration = IWL_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS; 2851 u32 duration = IWL_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS;
@@ -2857,6 +2858,9 @@ static void iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw,
2857 if (iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PREPARE_TX)) 2858 if (iwl_mvm_ref_sync(mvm, IWL_MVM_REF_PREPARE_TX))
2858 return; 2859 return;
2859 2860
2861 if (req_duration > duration)
2862 duration = req_duration;
2863
2860 mutex_lock(&mvm->mutex); 2864 mutex_lock(&mvm->mutex);
2861 /* Try really hard to protect the session and hear a beacon */ 2865 /* Try really hard to protect the session and hear a beacon */
2862 iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false); 2866 iwl_mvm_protect_session(mvm, vif, duration, min_duration, 500, false);