|
|
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;
|