Re: [PATCH 3/4] ath10k: Add new api to support TID specific configuration
From: kernel test robot <hidden>
Date: 2020-06-29 08:39:16
Also in:
oe-kbuild-all
Hi Tamizh, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on ath6kl/ath-next] [also build test WARNING on wireless-drivers-next/master v5.8-rc3 next-20200626] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Tamizh-Chelvam/ath10k-Add-support-for-TID-specific-configuration/20200629-010528 base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/ath.git ath-next config: m68k-allmodconfig (attached as .config) compiler: m68k-linux-gcc (GCC) 9.3.0 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 # save the attached .config to linux build tree COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <redacted> All warnings (new ones prefixed by >>): In file included from arch/m68k/include/asm/io_mm.h:25, from arch/m68k/include/asm/io.h:8, from include/linux/scatterlist.h:9, from include/linux/dma-mapping.h:11, from include/linux/skbuff.h:31, from include/linux/if_ether.h:19, from include/net/mac80211.h:18, from drivers/net/wireless/ath/ath10k/mac.h:10, from drivers/net/wireless/ath/ath10k/mac.c:8: arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsb': arch/m68k/include/asm/raw_io.h:83:7: warning: variable '__w' set but not used [-Wunused-but-set-variable] 83 | ({u8 __w, __v = (b); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:430:3: note: in expansion of macro 'rom_out_8' 430 | rom_out_8(port, *buf++); | ^~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw': arch/m68k/include/asm/raw_io.h:86:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 86 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:448:3: note: in expansion of macro 'rom_out_be16' 448 | rom_out_be16(port, *buf++); | ^~~~~~~~~~~~ arch/m68k/include/asm/raw_io.h: In function 'raw_rom_outsw_swapw': arch/m68k/include/asm/raw_io.h:90:8: warning: variable '__w' set but not used [-Wunused-but-set-variable] 90 | ({u16 __w, __v = (w); u32 _addr = ((u32) (addr)); \ | ^~~ arch/m68k/include/asm/raw_io.h:466:3: note: in expansion of macro 'rom_out_le16' 466 | rom_out_le16(port, *buf++); | ^~~~~~~~~~~~ In file included from include/asm-generic/bug.h:5, from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/net/mac80211.h:16, from drivers/net/wireless/ath/ath10k/mac.h:10, from drivers/net/wireless/ath/ath10k/mac.c:8: include/linux/scatterlist.h: In function 'sg_set_buf': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/linux/compiler.h:78:42: note: in definition of macro 'unlikely' 78 | # define unlikely(x) __builtin_expect(!!(x), 0) | ^ include/linux/scatterlist.h:143:2: note: in expansion of macro 'BUG_ON' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~ include/linux/scatterlist.h:143:10: note: in expansion of macro 'virt_addr_valid' 143 | BUG_ON(!virt_addr_valid(buf)); | ^~~~~~~~~~~~~~~ In file included from arch/m68k/include/asm/bug.h:32, from include/linux/bug.h:5, from include/net/mac80211.h:16, from drivers/net/wireless/ath/ath10k/mac.h:10, from drivers/net/wireless/ath/ath10k/mac.c:8: include/linux/dma-mapping.h: In function 'dma_map_resource': arch/m68k/include/asm/page_mm.h:169:49: warning: ordered comparison of pointer with null pointer [-Wextra] 169 | #define virt_addr_valid(kaddr) ((void *)(kaddr) >= (void *)PAGE_OFFSET && (void *)(kaddr) < high_memory) | ^~ include/asm-generic/bug.h:144:27: note: in definition of macro 'WARN_ON_ONCE' 144 | int __ret_warn_once = !!(condition); \ | ^~~~~~~~~ arch/m68k/include/asm/page_mm.h:170:25: note: in expansion of macro 'virt_addr_valid' 170 | #define pfn_valid(pfn) virt_addr_valid(pfn_to_virt(pfn)) | ^~~~~~~~~~~~~~~ include/linux/dma-mapping.h:352:19: note: in expansion of macro 'pfn_valid' 352 | if (WARN_ON_ONCE(pfn_valid(PHYS_PFN(phys_addr)))) | ^~~~~~~~~ drivers/net/wireless/ath/ath10k/mac.c: At top level:
quoted
drivers/net/wireless/ath/ath10k/mac.c:6864:5: warning: no previous prototype for 'ath10k_mac_set_tid_config' [-Wmissing-prototypes]
6864 | int ath10k_mac_set_tid_config(struct ath10k *ar, struct ieee80211_sta *sta,
| ^~~~~~~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath10k/mac.c: In function 'ath10k_sta_tid_cfg_wk':quoted
drivers/net/wireless/ath/ath10k/mac.c:7077:24: warning: variable 'vif' set but not used [-Wunused-but-set-variable]
7077 | struct ieee80211_vif *vif;
| ^~~
vim +/ath10k_mac_set_tid_config +6864 drivers/net/wireless/ath/ath10k/mac.c
6863 6864 int ath10k_mac_set_tid_config(struct ath10k *ar, struct ieee80211_sta *sta,
6865 struct ieee80211_vif *vif, u32 changed,
6866 struct wmi_per_peer_per_tid_cfg_arg *arg)
6867 {
6868 struct ath10k_vif *arvif = (void *)vif->drv_priv;
6869 struct ath10k_sta *arsta;
6870 int ret;
6871
6872 if (sta) {
6873 if (!sta->wme)
6874 return -ENOTSUPP;
6875
6876 arsta = (struct ath10k_sta *)sta->drv_priv;
6877
6878 if (changed & BIT(NL80211_TID_CONFIG_ATTR_NOACK)) {
6879 if ((arsta->retry_long[arg->tid] > 0 ||
6880 arsta->rate_code[arg->tid] > 0 ||
6881 arsta->ampdu[arg->tid] ==
6882 WMI_TID_CONFIG_AGGR_CONTROL_ENABLE) &&
6883 arg->ack_policy == WMI_PEER_TID_CONFIG_NOACK) {
6884 changed &= ~BIT(NL80211_TID_CONFIG_ATTR_NOACK);
6885 arg->ack_policy = 0;
6886 arg->aggr_control = 0;
6887 arg->rate_ctrl = 0;
6888 arg->rcode_flags = 0;
6889 }
6890 }
6891
6892 if (changed & BIT(NL80211_TID_CONFIG_ATTR_AMPDU_CTRL)) {
6893 if (arsta->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK ||
6894 arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
6895 arg->aggr_control = 0;
6896 changed &= ~BIT(NL80211_TID_CONFIG_ATTR_RETRY_LONG);
6897 }
6898 }
6899
6900 if (changed & (BIT(NL80211_TID_CONFIG_ATTR_TX_RATE) |
6901 BIT(NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE))) {
6902 if (arsta->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK ||
6903 arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
6904 arg->rate_ctrl = 0;
6905 arg->rcode_flags = 0;
6906 }
6907 }
6908
6909 ether_addr_copy(arg->peer_macaddr.addr, sta->addr);
6910 ret = ath10k_wmi_set_per_peer_per_tid_cfg(ar, arg);
6911 if (ret)
6912 return ret;
6913
6914 /* Store the configured parameters in success case */
6915 if (changed & BIT(NL80211_TID_CONFIG_ATTR_NOACK)) {
6916 arsta->noack[arg->tid] = arg->ack_policy;
6917 arg->ack_policy = 0;
6918 arg->aggr_control = 0;
6919 arg->rate_ctrl = 0;
6920 arg->rcode_flags = 0;
6921 }
6922
6923 if (changed & BIT(NL80211_TID_CONFIG_ATTR_RETRY_LONG)) {
6924 arsta->retry_long[arg->tid] = arg->retry_count;
6925 arg->retry_count = 0;
6926 }
6927
6928 if (changed & BIT(NL80211_TID_CONFIG_ATTR_AMPDU_CTRL)) {
6929 arsta->ampdu[arg->tid] = arg->aggr_control;
6930 arg->aggr_control = 0;
6931 }
6932
6933 if (changed & (BIT(NL80211_TID_CONFIG_ATTR_TX_RATE) |
6934 BIT(NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE))) {
6935 arsta->rate_ctrl[arg->tid] = arg->rate_ctrl;
6936 arg->rate_ctrl = 0;
6937 arg->rcode_flags = 0;
6938 }
6939
6940 if (changed & BIT(NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL)) {
6941 arsta->rtscts[arg->tid] = arg->rtscts_ctrl;
6942 arg->ext_tid_cfg_bitmap = 0;
6943 }
6944 } else {
6945 if (changed & BIT(NL80211_TID_CONFIG_ATTR_NOACK)) {
6946 if ((arvif->retry_long[arg->tid] ||
6947 arvif->rate_code[arg->tid] ||
6948 arvif->ampdu[arg->tid] ==
6949 WMI_TID_CONFIG_AGGR_CONTROL_ENABLE) &&
6950 arg->ack_policy == WMI_PEER_TID_CONFIG_NOACK) {
6951 changed &= ~BIT(NL80211_TID_CONFIG_ATTR_NOACK);
6952 } else {
6953 arvif->noack[arg->tid] = arg->ack_policy;
6954 arvif->ampdu[arg->tid] = arg->aggr_control;
6955 arvif->rate_ctrl[arg->tid] = arg->rate_ctrl;
6956 }
6957 }
6958
6959 if (changed & BIT(NL80211_TID_CONFIG_ATTR_RETRY_LONG)) {
6960 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK)
6961 changed &= ~BIT(NL80211_TID_CONFIG_ATTR_RETRY_LONG);
6962 else
6963 arvif->retry_long[arg->tid] = arg->retry_count;
6964 }
6965
6966 if (changed & BIT(NL80211_TID_CONFIG_ATTR_AMPDU_CTRL)) {
6967 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK)
6968 changed &= ~BIT(NL80211_TID_CONFIG_ATTR_AMPDU_CTRL);
6969 else
6970 arvif->ampdu[arg->tid] = arg->aggr_control;
6971 }
6972
6973 if (changed & (BIT(NL80211_TID_CONFIG_ATTR_TX_RATE) |
6974 BIT(NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE))) {
6975 if (arvif->noack[arg->tid] == WMI_PEER_TID_CONFIG_NOACK) {
6976 changed &= ~(BIT(NL80211_TID_CONFIG_ATTR_TX_RATE) |
6977 BIT(NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE));
6978 } else {
6979 arvif->rate_ctrl[arg->tid] = arg->rate_ctrl;
6980 arvif->rate_code[arg->tid] = arg->rcode_flags;
6981 }
6982 }
6983
6984 if (changed & BIT(NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL)) {
6985 arvif->rtscts[arg->tid] = arg->rtscts_ctrl;
6986 arg->ext_tid_cfg_bitmap = 0;
6987 }
6988
6989 if (changed)
6990 arvif->tid_conf_changed[arg->tid] |= changed;
6991 }
6992
6993 return 0;
6994 }
6995
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org Attachments
- .config.gz [application/gzip] 57210 bytes