diff options
author | Gregory Greenman <gregory.greenman@intel.com> | 2017-07-06 04:07:33 +0200 |
---|---|---|
committer | Luca Coelho <luciano.coelho@intel.com> | 2017-08-01 10:50:30 +0200 |
commit | 9465c3f8ba67cff697c0529de5a03cc5e1509d41 (patch) | |
tree | aafc91ef38caa77eae8f6c34aa5b282753cfd097 /drivers/net/wireless | |
parent | iwlwifi: split the regulatory rules when the bandwidth flags require it (diff) | |
download | linux-9465c3f8ba67cff697c0529de5a03cc5e1509d41.tar.xz linux-9465c3f8ba67cff697c0529de5a03cc5e1509d41.zip |
iwlwifi: mvm: set A-MPDU bit upon empty BA notification from FW
The bit was set only if there was at least one reclaimed frame in an
aggregation. It's important to set it also in the case that the whole
A-MPDU was lost, otherwise rate scaling statistics will not be
updated correctly. Thus, set it always in ba notification handler.
This fixes a throughput degradation of about 20% in certain scenarios
with multiple streams on 11ac.
Signed-off-by: Gregory Greenman <gregory.greenman@intel.com>
Signed-off-by: Luca Coelho <luciano.coelho@intel.com>
Diffstat (limited to 'drivers/net/wireless')
-rw-r--r-- | drivers/net/wireless/intel/iwlwifi/mvm/tx.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c index e5d3eba2e82a..5fcc9dd6be56 100644 --- a/drivers/net/wireless/intel/iwlwifi/mvm/tx.c +++ b/drivers/net/wireless/intel/iwlwifi/mvm/tx.c @@ -1821,6 +1821,8 @@ void iwl_mvm_rx_ba_notif(struct iwl_mvm *mvm, struct iwl_rx_cmd_buffer *rxb) struct iwl_mvm_tid_data *tid_data; struct iwl_mvm_sta *mvmsta; + ba_info.flags = IEEE80211_TX_STAT_AMPDU; + if (iwl_mvm_has_new_tx_api(mvm)) { struct iwl_mvm_compressed_ba_notif *ba_res = (void *)pkt->data; |