Felix Fietkau <nbd@xxxxxxxx> 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@xxxxxxxxxxxxxxxx> >> --- >> 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