Blame SOURCES/0041-Revert-iwlwifi-iwlmvm-ignore-HE-PPDU-type-regarding-.patch

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