All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sebastian Gottschall <s.gottschall@dd-wrt.com>
To: Christian Lamparter <chunkeey@gmail.com>
Cc: linux-wireless@vger.kernel.org, Kalle Valo <kvalo@qca.qualcomm.com>
Subject: Re: [PATCH] ath10k: fix recent bandwidth conversion bug
Date: Thu, 2 Nov 2017 22:08:30 +0100	[thread overview]
Message-ID: <b31e2b05-4882-de0a-09c8-a007f1e407ce@dd-wrt.com> (raw)
In-Reply-To: <1666282.PC3nhpCf9f@debian64>

i know. saw that later too. code should be safe

Am 02.11.2017 um 20:34 schrieb Christian Lamparter:
> On Wednesday, November 1, 2017 9:37:53 PM CET Sebastian Gottschall wrote:
>> a additional array bounds check would be good
> Ah, about that:
>
> the bw variable in ath10k_htt_rx_h_rates() is extracted from info2
> in the following way [0]:
> |	bw = info2 & 3;
>
> the txrate.bw variable in ath10k_update_per_peer_tx_stats() is set by [1]:
> |	txrate.bw = ATH10K_HW_BW(peer_stats->flags);
>
> ATH10K_HW_BW is a macro defined as [2]:
> |	#define ATH10K_HW_BW(flags)		(((flags) >> 3) & 0x3)
>
> In both cases the bandwidth values already are limited to 0-3 by
> the "and 3" operation.
>
> [0] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L646>
>
> [1] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/htt_rx.c#L2254>
> [2] <https://elixir.free-electrons.com/linux/v4.14-rc7/source/drivers/net/wireless/ath/ath10k/wmi.h#L4810>
>
>
>>> @@ -592,6 +592,9 @@ struct amsdu_subframe_hdr {
>>>    
>>>    #define GROUP_ID_IS_SU_MIMO(x) ((x) == 0 || (x) == 63)
>>>    
>>> +static const u8 ath10k_bw_to_mac80211[] = { RATE_INFO_BW_20, RATE_INFO_BW_40,
>>> +	RATE_INFO_BW_80, RATE_INFO_BW_160 };
>>> +
>>>    static void ath10k_htt_rx_h_rates(struct ath10k *ar,
>>>    				  struct ieee80211_rx_status *status,
>>>    				  struct htt_rx_desc *rxd)
>>> @@ -694,23 +697,7 @@ static void ath10k_htt_rx_h_rates(struct ath10k *ar,
>>>    		if (sgi)
>>>    			status->enc_flags |= RX_ENC_FLAG_SHORT_GI;
>>>    
>>> [...]
>>> +		status->bw = ath10k_bw_to_mac80211[bw];
>>>    		status->encoding = RX_ENC_VHT;
>>>    		break;
>>>    	default:
>>> @@ -2297,7 +2284,7 @@ ath10k_update_per_peer_tx_stats(struct ath10k *ar,
>>>    		arsta->txrate.flags |= RATE_INFO_FLAGS_SHORT_GI;
>>>    
>>>    	arsta->txrate.nss = txrate.nss;
>>> -	arsta->txrate.bw = txrate.bw + RATE_INFO_BW_20;
>>> +	arsta->txrate.bw = ath10k_bw_to_mac80211[txrate.bw];
>>>    }
>>>    
>>>    static void ath10k_htt_fetch_peer_stats(struct ath10k *ar,
>
>
>

-- 
Mit freundlichen Grüssen / Regards

Sebastian Gottschall / CTO

NewMedia-NET GmbH - DD-WRT
Firmensitz:  Stubenwaldallee 21a, 64625 Bensheim
Registergericht: Amtsgericht Darmstadt, HRB 25473
Geschäftsführer: Peter Steinhäuser, Christian Scheele
http://www.dd-wrt.com
email: s.gottschall@dd-wrt.com
Tel.: +496251-582650 / Fax: +496251-5826565

  reply	other threads:[~2017-11-02 21:08 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-11-01 20:01 [PATCH] ath10k: fix recent bandwidth conversion bug Christian Lamparter
2017-11-01 20:36 ` Sebastian Gottschall
2017-11-01 20:37 ` Sebastian Gottschall
2017-11-02 19:34   ` Christian Lamparter
2017-11-02 21:08     ` Sebastian Gottschall [this message]
2017-11-13  8:53       ` Johannes Berg
2017-11-20 11:57     ` Kalle Valo
2017-11-20 17:05       ` Christian Lamparter
2017-12-14 13:21         ` Kalle Valo
2018-03-01 11:52           ` Rafał Miłecki
2018-03-11  7:12             ` Kalle Valo
2018-03-11 21:01               ` Rafał Miłecki
2018-03-10 12:20 Anilkumar Kolli
2018-03-10 12:20 ` Anilkumar Kolli

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=b31e2b05-4882-de0a-09c8-a007f1e407ce@dd-wrt.com \
    --to=s.gottschall@dd-wrt.com \
    --cc=chunkeey@gmail.com \
    --cc=kvalo@qca.qualcomm.com \
    --cc=linux-wireless@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.