Message ID | 1533039077-1532-1-git-send-email-vnaralas@codeaurora.org (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Kalle Valo |
Headers | show |
Series | [PATCHv2] ath10k : Fix channel survey dump | expand |
On 07/31/2018 05:11 AM, Venkateswara 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' which accumulate survey data in > FW and send survey data to driver upon the driver request. Wrap around > is taken care by FW. > > hardware used : QCA9984 > firmware ver : ver 10.4-3.5.3-00057 Have you tested this on other firmwares? I am pretty sure that at least some of them, probably 10.2, will have issues. Maybe you could make this change specific to certain firmware that is known to work with the change? Thanks, Ben > > Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org> > --- > v2: > * updated commit log. > > 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 f068e2b..db93ab1 100644 > --- a/drivers/net/wireless/ath/ath10k/mac.c > +++ b/drivers/net/wireless/ath/ath10k/mac.c > @@ -6837,7 +6837,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k *ar, > 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; > > lockdep_assert_held(&ar->conf_mutex); > >
On Tue, Jul 31, 2018 at 10:38 AM Ben Greear <greearb@candelatech.com> wrote: > On 07/31/2018 05:11 AM, Venkateswara 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' which accumulate survey data in > > FW and send survey data to driver upon the driver request. Wrap around > > is taken care by FW. > > > > hardware used : QCA9984 > > firmware ver : ver 10.4-3.5.3-00057 > > Have you tested this on other firmwares? I am pretty sure that at least > some of them, probably 10.2, will have issues. > > Maybe you could make this change specific to certain firmware that > is known to work with the change? > > There are bigger problems with it than that; even with firmwares that behave correctly, this changes the behavior that a lot of upper-layer software depends upon, and will likely make anything that actually uses the channel survey data misbehave. It is therefore a breaking change for any device that actually implements ACS. -J. <div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr">On Tue, Jul 31, 2018 at 10:38 AM Ben Greear <<a href="mailto:greearb@candelatech.com">greearb@candelatech.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 07/31/2018 05:11 AM, Venkateswara Naralasetty wrote:<br> > Channel active/busy time are showing incorrect(less than previous or<br> > sometimes zero) for successive survey dump command.<br> ><br> > example:<br> > Survey data from wlan0<br> > frequency: 5180 MHz [in use]<br> > channel active time: 54995 ms<br> > channel busy time: 432 ms<br> > channel receive time: 0 ms<br> > channel transmit time: 59 ms<br> > Survey data from wlan0<br> > frequency: 5180 MHz [in use]<br> > channel active time: 32592 ms<br> > channel busy time: 254 ms<br> > channel receive time: 0 ms<br> > channel transmit time: 0 ms<br> ><br> > This patch fix this issue by assigning 'wmi_bss_survey_req_type'<br> > as 'WMI_BSS_SURVEY_REQ_TYPE_READ' which accumulate survey data in<br> > FW and send survey data to driver upon the driver request. Wrap around<br> > is taken care by FW.<br> ><br> > hardware used : QCA9984<br> > firmware ver : ver 10.4-3.5.3-00057<br> <br> Have you tested this on other firmwares? I am pretty sure that at least<br> some of them, probably 10.2, will have issues.<br> <br> Maybe you could make this change specific to certain firmware that<br> is known to work with the change?<br><br></blockquote><div><br></div><div>There are bigger problems with it than that; even with firmwares that behave correctly,</div><div>this changes the behavior that a lot of upper-layer software depends upon, and will likely</div><div>make anything that actually uses the channel survey data misbehave.</div><div><br></div><div>It is therefore a breaking change for any device that actually implements ACS.</div><div><br></div><div>-J. </div></div></div>
> -----Original Message----- > From: ath10k <ath10k-bounces@lists.infradead.org> On Behalf Of Ben > Greear > Sent: Tuesday, July 31, 2018 11:08 PM > To: Venkateswara Naralasetty <vnaralas@codeaurora.org>; > ath10k@lists.infradead.org > Cc: linux-wireless@vger.kernel.org > Subject: Re: [PATCHv2] ath10k : Fix channel survey dump > > On 07/31/2018 05:11 AM, Venkateswara 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' which accumulate survey data in > FW > > and send survey data to driver upon the driver request. Wrap around is > > taken care by FW. > > > > hardware used : QCA9984 > > firmware ver : ver 10.4-3.5.3-00057 > > Have you tested this on other firmwares? I am pretty sure that at least some > of them, probably 10.2, will have issues. > I have tested this change with firmware version 10.2.4-1.0-00036 (hw used QCA988x) as well it's working fine for me without any issues. > Maybe you could make this change specific to certain firmware that is known > to work with the change? > > Thanks, > Ben > > > > > Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org> > > --- > > v2: > > * updated commit log. > > > > 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 f068e2b..db93ab1 100644 > > --- a/drivers/net/wireless/ath/ath10k/mac.c > > +++ b/drivers/net/wireless/ath/ath10k/mac.c > > @@ -6837,7 +6837,7 @@ ath10k_mac_update_bss_chan_survey(struct > ath10k *ar, > > 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; > > > > lockdep_assert_held(&ar->conf_mutex); > > > > > > > -- > Ben Greear <greearb@candelatech.com> > Candela Technologies Inc http://www.candelatech.com > > > _______________________________________________ > ath10k mailing list > ath10k@lists.infradead.org > http://lists.infradead.org/mailman/listinfo/ath10k
diff --git a/drivers/net/wireless/ath/ath10k/mac.c b/drivers/net/wireless/ath/ath10k/mac.c index f068e2b..db93ab1 100644 --- a/drivers/net/wireless/ath/ath10k/mac.c +++ b/drivers/net/wireless/ath/ath10k/mac.c @@ -6837,7 +6837,7 @@ ath10k_mac_update_bss_chan_survey(struct ath10k *ar, 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; lockdep_assert_held(&ar->conf_mutex);
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' which accumulate survey data in FW and send survey data to driver upon the driver request. Wrap around is taken care by FW. hardware used : QCA9984 firmware ver : ver 10.4-3.5.3-00057 Signed-off-by: Venkateswara Naralasetty <vnaralas@codeaurora.org> --- v2: * updated commit log. drivers/net/wireless/ath/ath10k/mac.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)