[PATCH] ath10k : Fix channel survey dump
Felix Fietkau
nbd at nbd.name
Wed Apr 26 08:29:16 PDT 2017
On 2017-04-26 16:41, Venkateswara Rao Naralasetty wrote:
> Channel active/busy time are showing incorrect
> (less than previous or sometimes zero) for
> successive survey dump command.
>
> example:
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 54995 ms
> channel busy time: 432 ms
> channel receive time: 0 ms
> channel transmit time: 59 ms
> Survey data from wlan0
> frequency: 5180 MHz [in use]
> channel active time: 32592 ms
> channel busy time: 254 ms
> channel receive time: 0 ms
> channel transmit time: 0 ms
>
> This patch fix this issue by assigning 'wmi_bss_survey_req_type'
> as 'WMI_BSS_SURVEY_REQ_TYPE_READ'.
>
> Firmware ver 10.4-3.4-00082
> Hardware QCA4019
>
> Signed-off-by: Venkateswara Rao Naralasetty <c_vnaral 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 9977829..87a9b55 100644
> --- a/drivers/net/wireless/ath/ath10k/mac.c
> +++ b/drivers/net/wireless/ath/ath10k/mac.c
> @@ -6621,7 +6621,7 @@ static void ath10k_reconfig_complete(struct ieee80211_hw *hw,
> struct ieee80211_channel *channel)
> {
> int ret;
> - enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ_CLEAR;
> + enum wmi_bss_survey_req_type type = WMI_BSS_SURVEY_REQ_TYPE_READ;
Does the firmware read the registers directly, or does it accumulate the
results in a way that can't overflow?
If you don't clear the counters on reset, the overflow will be
problematic for the current-channel stats.
I think a better approach would be to use READ_CLEAR for in-use channels
and store the sum inside the driver.
- Felix
More information about the ath10k
mailing list