|
|
@@ -276,7 +276,6 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
|
|
IEEE80211_HW_AMPDU_AGGREGATION |
|
|
|
IEEE80211_HW_TIMING_BEACON_ONLY |
|
|
|
IEEE80211_HW_CONNECTION_MONITOR |
|
|
|
- IEEE80211_HW_SUPPORTS_UAPSD |
|
|
|
IEEE80211_HW_SUPPORTS_DYNAMIC_SMPS |
|
|
|
IEEE80211_HW_SUPPORTS_STATIC_SMPS;
|
|
|
|
|
|
@@ -286,8 +285,6 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
|
|
IEEE80211_RADIOTAP_MCS_HAVE_STBC;
|
|
|
hw->radiotap_vht_details |= IEEE80211_RADIOTAP_VHT_KNOWN_STBC;
|
|
|
hw->rate_control_algorithm = "iwl-mvm-rs";
|
|
|
- hw->uapsd_queues = IWL_UAPSD_AC_INFO;
|
|
|
- hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
|
|
|
|
|
|
/*
|
|
|
* Enable 11w if advertised by firmware and software crypto
|
|
|
@@ -298,9 +295,13 @@ int iwl_mvm_mac_setup_register(struct iwl_mvm *mvm)
|
|
|
!iwlwifi_mod_params.sw_crypto)
|
|
|
hw->flags |= IEEE80211_HW_MFP_CAPABLE;
|
|
|
|
|
|
- /* Disable uAPSD due to firmware issues */
|
|
|
- if (true)
|
|
|
- hw->flags &= ~IEEE80211_HW_SUPPORTS_UAPSD;
|
|
|
+ if (mvm->fw->ucode_capa.flags & IWL_UCODE_TLV_FLAGS_UAPSD_SUPPORT &&
|
|
|
+ IWL_UCODE_API(mvm->fw->ucode_ver) >= 9 &&
|
|
|
+ !iwlwifi_mod_params.uapsd_disable) {
|
|
|
+ hw->flags |= IEEE80211_HW_SUPPORTS_UAPSD;
|
|
|
+ hw->uapsd_queues = IWL_UAPSD_AC_INFO;
|
|
|
+ hw->uapsd_max_sp_len = IWL_UAPSD_MAX_SP;
|
|
|
+ }
|
|
|
|
|
|
hw->sta_data_size = sizeof(struct iwl_mvm_sta);
|
|
|
hw->vif_data_size = sizeof(struct iwl_mvm_vif);
|