提交 f680f70a 编写于 作者: R Rajkumar Manoharan 提交者: Kalle Valo

ath10k: fix invalid NSS for 4x4 devices

The number of spatial streams that are derived from chain mask
for 4x4 devices is using wrong bitmask and conditional check.
This is affecting downlink throughput for QCA99x0 devices. Earlier
cfg_tx_chainmask is not filled by default until user configured it
and so get_nss_from_chainmask never be called. This issue is exposed
by recent commit 166de3f1 ("ath10k: remove supported chain mask").
By default maximum supported chain mask is filled in cfg_tx_chainmask.

Cc: stable@vger.kernel.org
Fixes: 5572a95b ("ath10k: apply chainmask settings to vdev on creation")
Signed-off-by: NRajkumar Manoharan <rmanohar@qti.qualcomm.com>
Signed-off-by: NKalle Valo <kvalo@qca.qualcomm.com>
上级 761d4be5
...@@ -4225,7 +4225,7 @@ static int ath10k_config(struct ieee80211_hw *hw, u32 changed) ...@@ -4225,7 +4225,7 @@ static int ath10k_config(struct ieee80211_hw *hw, u32 changed)
static u32 get_nss_from_chainmask(u16 chain_mask) static u32 get_nss_from_chainmask(u16 chain_mask)
{ {
if ((chain_mask & 0x15) == 0x15) if ((chain_mask & 0xf) == 0xf)
return 4; return 4;
else if ((chain_mask & 0x7) == 0x7) else if ((chain_mask & 0x7) == 0x7)
return 3; return 3;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册