|
@@ -421,6 +421,7 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
|
ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS);
|
|
ieee80211_hw_set(hw, SUPPORTS_CLONED_SKBS);
|
|
ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
|
|
ieee80211_hw_set(hw, SUPPORTS_AMSDU_IN_AMPDU);
|
|
ieee80211_hw_set(hw, NEEDS_UNIQUE_STA_ADDR);
|
|
ieee80211_hw_set(hw, NEEDS_UNIQUE_STA_ADDR);
|
|
|
|
+ ieee80211_hw_set(hw, DEAUTH_NEED_MGD_TX_PREP);
|
|
|
|
|
|
if (iwl_mvm_has_tlc_offload(mvm)) {
|
|
if (iwl_mvm_has_tlc_offload(mvm)) {
|
|
ieee80211_hw_set(hw, TX_AMPDU_SETUP_IN_HW);
|
|
ieee80211_hw_set(hw, TX_AMPDU_SETUP_IN_HW);
|
|
@@ -2815,9 +2816,6 @@ static void iwl_mvm_mac_mgd_prepare_tx(struct ieee80211_hw *hw,
|
|
u32 duration = IWL_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS;
|
|
u32 duration = IWL_MVM_TE_SESSION_PROTECTION_MAX_TIME_MS;
|
|
u32 min_duration = IWL_MVM_TE_SESSION_PROTECTION_MIN_TIME_MS;
|
|
u32 min_duration = IWL_MVM_TE_SESSION_PROTECTION_MIN_TIME_MS;
|
|
|
|
|
|
- if (WARN_ON_ONCE(vif->bss_conf.assoc))
|
|
|
|
- return;
|
|
|
|
-
|
|
|
|
/*
|
|
/*
|
|
* iwl_mvm_protect_session() reads directly from the device
|
|
* iwl_mvm_protect_session() reads directly from the device
|
|
* (the system time), so make sure it is available.
|
|
* (the system time), so make sure it is available.
|