[PATCH] ath10k: fix invalid NSS for 4x4 devices
Ben Greear
greearb at candelatech.com
Mon Nov 2 22:32:05 PST 2015
I'm a bit embarrassed about that 0x15..thanks for catching that!
Ben
On 11/02/2015 10:21 PM, Rajkumar Manoharan wrote:
> 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 166de3f1895d ("ath10k: remove supported chain mask").
> By default maximum supported chain mask is filled in cfg_tx_chainmask.
>
> Cc: stable at vger.kernel.org
> Fixes: 5572a95b4b ("ath10k: apply chainmask settings to vdev on
> creation")
> Signed-off-by: Rajkumar Manoharan <rmanohar at qti.qualcomm.com>
> ---
> drivers/net/wireless/ath/ath10k/mac.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c
> index a7411fe..95a55405 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -4225,7 +4225,7 @@ static int ath10k_config(struct ieee80211_hw *hw, u32 changed)
>
> static u32 get_nss_from_chainmask(u16 chain_mask)
> {
> - if ((chain_mask & 0x15) == 0x15)
> + if ((chain_mask & 0xf) == 0xf)
> return 4;
> else if ((chain_mask & 0x7) == 0x7)
> return 3;
>
--
Ben Greear <greearb at candelatech.com>
Candela Technologies Inc http://www.candelatech.com
More information about the ath10k
mailing list