You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.0 KiB
48 lines
2.0 KiB
From b02d8c6f4a9feb8a39172c21b5262b8234dff7fc Mon Sep 17 00:00:00 2001
|
|
From: Eugene Syromiatnikov <esyr@redhat.com>
|
|
Date: Thu, 5 Sep 2019 18:20:43 +0200
|
|
Subject: [PATCH 12/43] Revert "iwlwifi: iwlmvm: ignore HE PPDU type regarding
|
|
EOF"
|
|
|
|
This reverts commit 937c2652768f931ac2f8ce0aa35476ccb0a603d0.
|
|
---
|
|
drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c | 18 +++++++++++-------
|
|
1 file changed, 11 insertions(+), 7 deletions(-)
|
|
|
|
Index: src/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c
|
|
===================================================================
|
|
--- src.orig/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 2019-09-06 01:25:42.372331909 +0200
|
|
+++ src/drivers/net/wireless/intel/iwlwifi/mvm/rxmq.c 2019-09-06 01:25:42.536329818 +0200
|
|
@@ -1194,12 +1194,14 @@
|
|
/* temporarily hide the radiotap data */
|
|
__skb_pull(skb, radiotap_len);
|
|
|
|
- /* report the AMPDU-EOF bit on single frames */
|
|
- if (!queue && !(phy_info & IWL_RX_MPDU_PHY_AMPDU)) {
|
|
- rx_status->flag |= RX_FLAG_AMPDU_DETAILS;
|
|
- rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT_KNOWN;
|
|
- if (phy_data->d0 & cpu_to_le32(IWL_RX_PHY_DATA0_HE_DELIM_EOF))
|
|
- rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT;
|
|
+ if (phy_data->info_type == IWL_RX_PHY_INFO_TYPE_HE_SU) {
|
|
+ /* report the AMPDU-EOF bit on single frames */
|
|
+ if (!queue && !(phy_info & IWL_RX_MPDU_PHY_AMPDU)) {
|
|
+ rx_status->flag |= RX_FLAG_AMPDU_DETAILS;
|
|
+ rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT_KNOWN;
|
|
+ if (phy_data->d0 & cpu_to_le32(IWL_RX_PHY_DATA0_HE_DELIM_EOF))
|
|
+ rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT;
|
|
+ }
|
|
}
|
|
|
|
if (phy_info & IWL_RX_MPDU_PHY_TSF_OVERLOAD)
|
|
@@ -1212,7 +1214,9 @@
|
|
bool toggle_bit = phy_info & IWL_RX_MPDU_PHY_AMPDU_TOGGLE;
|
|
|
|
/* toggle is switched whenever new aggregation starts */
|
|
- if (toggle_bit != mvm->ampdu_toggle) {
|
|
+ if (toggle_bit != mvm->ampdu_toggle &&
|
|
+ (he_type == RATE_MCS_HE_TYPE_MU ||
|
|
+ he_type == RATE_MCS_HE_TYPE_SU)) {
|
|
rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT_KNOWN;
|
|
if (phy_data->d0 & cpu_to_le32(IWL_RX_PHY_DATA0_HE_DELIM_EOF))
|
|
rx_status->flag |= RX_FLAG_AMPDU_EOF_BIT;
|