From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Sasha Levin <sashal@kernel.org>,
netdev@vger.kernel.org, linux-wireless@vger.kernel.org,
ath10k@lists.infradead.org,
Sathishkumar Muruganandam <murugana@codeaurora.org>,
Kalle Valo <kvalo@codeaurora.org>
Subject: [PATCH AUTOSEL 4.9 09/30] ath10k: fix VHT NSS calculation when STBC is enabled
Date: Mon, 26 Oct 2020 20:10:23 -0400 [thread overview]
Message-ID: <20201027001044.1027349-9-sashal@kernel.org> (raw)
In-Reply-To: <20201027001044.1027349-1-sashal@kernel.org>
From: Sathishkumar Muruganandam <murugana@codeaurora.org>
[ Upstream commit 99f41b8e43b8b4b31262adb8ac3e69088fff1289 ]
When STBC is enabled, NSTS_SU value need to be accounted for VHT NSS
calculation for SU case.
Without this fix, 1SS + STBC enabled case was reported wrongly as 2SS
in radiotap header on monitor mode capture.
Tested-on: QCA9984 10.4-3.10-00047
Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597392971-3897-1-git-send-email-murugana@codeaurora.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/wireless/ath/ath10k/htt_rx.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index a3c2180475971..0af144930a2f7 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -612,6 +612,7 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
u8 preamble = 0;
u8 group_id;
u32 info1, info2, info3;
+ u32 stbc, nsts_su;
info1 = __le32_to_cpu(rxd->ppdu_start.info1);
info2 = __le32_to_cpu(rxd->ppdu_start.info2);
@@ -655,11 +656,16 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
TODO check this */
bw = info2 & 3;
sgi = info3 & 1;
+ stbc = (info2 >> 3) & 1;
group_id = (info2 >> 4) & 0x3F;
if (GROUP_ID_IS_SU_MIMO(group_id)) {
mcs = (info3 >> 4) & 0x0F;
- nss = ((info2 >> 10) & 0x07) + 1;
+ nsts_su = ((info2 >> 10) & 0x07);
+ if (stbc)
+ nss = (nsts_su >> 2) + 1;
+ else
+ nss = (nsts_su + 1);
} else {
/* Hardware doesn't decode VHT-SIG-B into Rx descriptor
* so it's impossible to decode MCS. Also since
--
2.25.1
_______________________________________________
ath10k mailing list
ath10k@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/ath10k
WARNING: multiple messages have this Message-ID (diff)
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Sathishkumar Muruganandam <murugana@codeaurora.org>,
Kalle Valo <kvalo@codeaurora.org>,
Sasha Levin <sashal@kernel.org>,
ath10k@lists.infradead.org, linux-wireless@vger.kernel.org,
netdev@vger.kernel.org
Subject: [PATCH AUTOSEL 4.9 09/30] ath10k: fix VHT NSS calculation when STBC is enabled
Date: Mon, 26 Oct 2020 20:10:23 -0400 [thread overview]
Message-ID: <20201027001044.1027349-9-sashal@kernel.org> (raw)
In-Reply-To: <20201027001044.1027349-1-sashal@kernel.org>
From: Sathishkumar Muruganandam <murugana@codeaurora.org>
[ Upstream commit 99f41b8e43b8b4b31262adb8ac3e69088fff1289 ]
When STBC is enabled, NSTS_SU value need to be accounted for VHT NSS
calculation for SU case.
Without this fix, 1SS + STBC enabled case was reported wrongly as 2SS
in radiotap header on monitor mode capture.
Tested-on: QCA9984 10.4-3.10-00047
Signed-off-by: Sathishkumar Muruganandam <murugana@codeaurora.org>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Link: https://lore.kernel.org/r/1597392971-3897-1-git-send-email-murugana@codeaurora.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
drivers/net/wireless/ath/ath10k/htt_rx.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath10k/htt_rx.c b/drivers/net/wireless/ath/ath10k/htt_rx.c
index a3c2180475971..0af144930a2f7 100644
--- a/drivers/net/wireless/ath/ath10k/htt_rx.c
+++ b/drivers/net/wireless/ath/ath10k/htt_rx.c
@@ -612,6 +612,7 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
u8 preamble = 0;
u8 group_id;
u32 info1, info2, info3;
+ u32 stbc, nsts_su;
info1 = __le32_to_cpu(rxd->ppdu_start.info1);
info2 = __le32_to_cpu(rxd->ppdu_start.info2);
@@ -655,11 +656,16 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
TODO check this */
bw = info2 & 3;
sgi = info3 & 1;
+ stbc = (info2 >> 3) & 1;
group_id = (info2 >> 4) & 0x3F;
if (GROUP_ID_IS_SU_MIMO(group_id)) {
mcs = (info3 >> 4) & 0x0F;
- nss = ((info2 >> 10) & 0x07) + 1;
+ nsts_su = ((info2 >> 10) & 0x07);
+ if (stbc)
+ nss = (nsts_su >> 2) + 1;
+ else
+ nss = (nsts_su + 1);
} else {
/* Hardware doesn't decode VHT-SIG-B into Rx descriptor
* so it's impossible to decode MCS. Also since
--
2.25.1
next prev parent reply other threads:[~2020-10-27 0:11 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-27 0:10 [PATCH AUTOSEL 4.9 01/30] powerpc/powernv/smp: Fix spurious DBG() warning Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 02/30] sparc64: remove mm_cpumask clearing to fix kthread_use_mm race Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [f2fs-dev] [PATCH AUTOSEL 4.9 03/30] f2fs: add trace exit in exception path Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [f2fs-dev] [PATCH AUTOSEL 4.9 04/30] f2fs: fix to check segment boundary during SIT page readahead Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 05/30] um: change sigio_spinlock to a mutex Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 06/30] ARM: 8997/2: hw_breakpoint: Handle inexact watchpoint addresses Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 07/30] xfs: fix realtime bitmap/summary file truncation when growing rt volume Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 08/30] video: fbdev: pvr2fb: initialize variables Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` Sasha Levin [this message]
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 09/30] ath10k: fix VHT NSS calculation when STBC is enabled Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 10/30] media: tw5864: check status of tw5864_frameinterval_get Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 11/30] mmc: via-sdmmc: Fix data race bug Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 12/30] printk: reduce LOG_BUF_SHIFT range for H8300 Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 13/30] kgdb: Make "kgdbcon" work properly with "kgdb_earlycon" Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 14/30] cpufreq: sti-cpufreq: add stih418 support Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 15/30] USB: adutux: fix debugging Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 16/30] arm64/mm: return cpu_all_mask when node is NUMA_NO_NODE Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [dm-devel] [PATCH AUTOSEL 4.9 17/30] dm: change max_io_len() to use blk_max_size_offset() Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 18/30] drivers/net/wan/hdlc_fr: Correctly handle special skb->protocol values Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 19/30] bus/fsl_mc: Do not rely on caller to provide non NULL mc_io Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 20/30] power: supply: test_power: add missing newlines when printing parameters by sysfs Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 21/30] md/bitmap: md_bitmap_get_counter returns wrong blocks Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 22/30] clk: ti: clockdomain: fix static checker warning Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 23/30] net: 9p: initialize sun_server.sun_path to have addr's value only when addr is valid Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 24/30] drivers: watchdog: rdc321x_wdt: Fix race condition bugs Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 25/30] ext4: Detect already used quota file early Sasha Levin
2020-10-27 0:10 ` [Cluster-devel] [PATCH AUTOSEL 4.9 26/30] gfs2: add validation checks for size of superblock Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 27/30] memory: emif: Remove bogus debugfs error handling Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 28/30] ARM: dts: s5pv210: remove DMA controller bus node name to fix dtschema warnings Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 29/30] ARM: dts: s5pv210: move PMU node out of clock controller Sasha Levin
2020-10-27 0:10 ` Sasha Levin
2020-10-27 0:10 ` [PATCH AUTOSEL 4.9 30/30] ARM: dts: s5pv210: remove dedicated 'audio-subsystem' node Sasha Levin
2020-10-27 0:10 ` Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20201027001044.1027349-9-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=ath10k@lists.infradead.org \
--cc=kvalo@codeaurora.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=murugana@codeaurora.org \
--cc=netdev@vger.kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.