[PATCH 3/4] ath10k: Add new api to support TID specific configuration
kernel test robot
lkp at intel.com
Mon Jun 29 04:39:16 EDT 2020
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 at intel.com>
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@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 57210 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/ath10k/attachments/20200629/ad83a9fc/attachment-0001.gz>
More information about the ath10k
mailing list