[PATCH v2] ath10k: Fix 10.4 extended peer stats update
Mohammed Shafi Shajakhan
mohammed at codeaurora.org
Wed Jun 1 08:12:38 PDT 2016
On Wed, Jun 01, 2016 at 01:00:40PM +0000, Valo, Kalle wrote:
> Mohammed Shafi Shajakhan <mohammed at codeaurora.org> writes:
>
> > Hello,
> >
> > On Tue, May 31, 2016 at 06:57:52PM +0000, Valo, Kalle wrote:
> >> Mohammed Shafi Shajakhan <mohammed at codeaurora.org> writes:
> >>
> >> >> > +void ath10k_sta_update_rx_duration(struct ath10k *ar,
> >> >> > + struct ath10k_fw_stats *stats)
> >> >> > +{
> >> >> > + struct ath10k_fw_file *fw_file = &ar->normal_mode_fw.fw_file;
> >> >> > +
> >> >> > + if (fw_file->wmi_op_version < ATH10K_FW_WMI_OP_VERSION_10_4)
> >> >> > + ath10k_sta_update_stats_rx_duration(ar, &stats->peers);
> >> >> > + else
> >> >> > + ath10k_sta_update_extd_stats_rx_duration(ar,
> >> >> > + &stats->peers_extd);
> >> >> > +}
> >> >>
> >> >> _Ideally_ wmi_op_version should be used only in ath10k_wmi_attach() and
> >> >> nowhere else. Isn't there any other way to detect this scenario? For
> >> >> example, what if you store stats_id to struct ath10k_fw_stats and do
> >> >> something like this:
> >> >>
> >> >> if (stats->stats_id & WMI_10_4_STAT_PEER_EXTD)
> >> >> ath10k_sta_update_extd_stats_rx_duration(ar,
> >> >> &stats->peers_extd);
> >> >> else
> >> >> ath10k_sta_update_stats_rx_duration(ar, &stats->peers);
> >> >>
> >> >> Would that work?
> >> >
> >> > [shafi] I am also thinking to re-use (ar->fw_stats_req_mask & WMI_10_4_STAT_PEER_EXTD)
> >> > it might work, but will it conflict vdev stats WMI_STAT_VDEV (though its not currently
> >> > supported for 10.2 )
> >>
> >> Can you describe more how they conflict?
> >
> > [shafi] 'WMI_STAT_VDEV' and 'WMI_10_4_STAT_PEER_EXTD' are having the same value
> > BIT(3), though as of now we are only 'WMI_10_4_STAT_PEER_EXTD' for 10.4
>
> Ah. But that's easy to solve, for example you could use a bool instead.
>
[shafi] sure thanks will do the same, i had a similar change in my mind as well
!
More information about the ath10k
mailing list