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 <lkp@xxxxxxxxx> 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: >> 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': >> 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@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip