[PATCH] ath10k : Fix channel survey dump

Venkateswara Naralasettty vnaralas at qti.qualcomm.com
Mon May 22 08:17:50 PDT 2017


-----Original Message-----
From: Kalle Valo 
Sent: Friday, May 19, 2017 2:48 PM
To: nbd at nbd.name
Cc: Venkateswara Naralasettty <vnaralas at qti.qualcomm.com>; ath10k at lists.infradead.org; linux-wireless at vger.kernel.org
Subject: Re: [PATCH] ath10k : Fix channel survey dump

Felix Fietkau <nbd at nbd.name> writes:

> 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.

Venkateswara, any comments?

--
Kalle Valo

Sorry for the delayed response I held up with some other work. Currently I am working with firmware team to address your comments.

--
Venkatesh.



More information about the ath10k mailing list