Set the rx_filter in ath11k_mac_config_mon_status_default(),
only when the rx_filter value exists in ath11k_debug_rx_filter().
Without this change, rx_filter gets set to 0 and peer rssi stats
aren't updating properly from firmware.
Tested-on: IPQ8074 WLAN.HK.2.1.0.1-01230-QCAHKSWPL_SILICONZ-4
Signed-off-by: Maharaja Kennadyrajan <[email protected]>
---
drivers/net/wireless/ath/ath11k/mac.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c
index 7f8dd47..c2d013a 100644
--- a/drivers/net/wireless/ath/ath11k/mac.c
+++ b/drivers/net/wireless/ath/ath11k/mac.c
@@ -4094,7 +4094,8 @@ static int ath11k_mac_config_mon_status_default(struct ath11k *ar, bool enable)
if (enable) {
tlv_filter = ath11k_mac_mon_status_filter_default;
- tlv_filter.rx_filter = ath11k_debugfs_rx_filter(ar);
+ if (ath11k_debug_rx_filter(ar))
+ tlv_filter.rx_filter = ath11k_debug_rx_filter(ar);
}
for (i = 0; i < ab->hw_params.num_rxmda_per_pdev; i++) {
--
2.7.4
Hi Maharaja,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on ath6kl/ath-next]
[also build test ERROR on v5.10-rc3 next-20201109]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Maharaja-Kennadyrajan/ath11k-Fix-the-rx_filter-flag-setting-for-peer-rssi-stats/20201103-210925
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath-next
config: x86_64-randconfig-a012-20201109 (attached as .config)
compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 09ec07827b1128504457a93dee80b2ceee1af600)
reproduce (this is a W=1 build):
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# https://github.com/0day-ci/linux/commit/347baa920fe13a6fe6e943f51066d0cff45981ce
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Maharaja-Kennadyrajan/ath11k-Fix-the-rx_filter-flag-setting-for-peer-rssi-stats/20201103-210925
git checkout 347baa920fe13a6fe6e943f51066d0cff45981ce
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <[email protected]>
All errors (new ones prefixed by >>):
>> drivers/net/wireless/ath/ath11k/mac.c:4097:7: error: implicit declaration of function 'ath11k_debug_rx_filter' [-Werror,-Wimplicit-function-declaration]
if (ath11k_debug_rx_filter(ar))
^
drivers/net/wireless/ath/ath11k/mac.c:4097:7: note: did you mean 'ath11k_debugfs_rx_filter'?
drivers/net/wireless/ath/ath11k/debugfs.h:210:19: note: 'ath11k_debugfs_rx_filter' declared here
static inline int ath11k_debugfs_rx_filter(struct ath11k *ar)
^
1 error generated.
vim +/ath11k_debug_rx_filter +4097 drivers/net/wireless/ath/ath11k/mac.c
4087
4088 static int ath11k_mac_config_mon_status_default(struct ath11k *ar, bool enable)
4089 {
4090 struct htt_rx_ring_tlv_filter tlv_filter = {0};
4091 struct ath11k_base *ab = ar->ab;
4092 int i, ret = 0;
4093 u32 ring_id;
4094
4095 if (enable) {
4096 tlv_filter = ath11k_mac_mon_status_filter_default;
> 4097 if (ath11k_debug_rx_filter(ar))
4098 tlv_filter.rx_filter = ath11k_debug_rx_filter(ar);
4099 }
4100
4101 for (i = 0; i < ab->hw_params.num_rxmda_per_pdev; i++) {
4102 ring_id = ar->dp.rx_mon_status_refill_ring[i].refill_buf_ring.ring_id;
4103 ret = ath11k_dp_tx_htt_rx_filter_setup(ar->ab, ring_id,
4104 ar->dp.mac_id + i,
4105 HAL_RXDMA_MONITOR_STATUS,
4106 DP_RX_BUFFER_SIZE,
4107 &tlv_filter);
4108 }
4109
4110 return ret;
4111 }
4112
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/[email protected]
On 2020-11-03 18:37, Maharaja Kennadyrajan wrote:
> Set the rx_filter in ath11k_mac_config_mon_status_default(),
> only when the rx_filter value exists in ath11k_debug_rx_filter().
>
> Without this change, rx_filter gets set to 0 and peer rssi stats
> aren't updating properly from firmware.
>
> Tested-on: IPQ8074 WLAN.HK.2.1.0.1-01230-QCAHKSWPL_SILICONZ-4
>
> Signed-off-by: Maharaja Kennadyrajan <[email protected]>
> ---
> drivers/net/wireless/ath/ath11k/mac.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/net/wireless/ath/ath11k/mac.c
> b/drivers/net/wireless/ath/ath11k/mac.c
> index 7f8dd47..c2d013a 100644
> --- a/drivers/net/wireless/ath/ath11k/mac.c
> +++ b/drivers/net/wireless/ath/ath11k/mac.c
> @@ -4094,7 +4094,8 @@ static int
> ath11k_mac_config_mon_status_default(struct ath11k *ar, bool enable)
>
> if (enable) {
> tlv_filter = ath11k_mac_mon_status_filter_default;
> - tlv_filter.rx_filter = ath11k_debugfs_rx_filter(ar);
> + if (ath11k_debug_rx_filter(ar))
> + tlv_filter.rx_filter = ath11k_debug_rx_filter(ar);
> }
>
> for (i = 0; i < ab->hw_params.num_rxmda_per_pdev; i++) {
[Maha]: Hi all, please drop this patch as this patch needs a comment to
be addressed.
I will send v2 patch.
Regards,
Maha