[PATCH 06/13] wcn36xx: Add ipv6 namespace offload in suspend
kernel test robot
lkp at intel.com
Mon Dec 28 16:49:35 EST 2020
Hi Bryan,
I love your patch! Yet something to improve:
[auto build test ERROR on wireless-drivers-next/master]
[also build test ERROR on wireless-drivers/master ath6kl/ath-next v5.11-rc1 next-20201223]
[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/Bryan-O-Donoghue/wcn36xx-Enable-downstream-consistent-Wake-on-Lan/20201229-003134
base: https://git.kernel.org/pub/scm/linux/kernel/git/kvalo/wireless-drivers-next.git master
config: m68k-randconfig-r004-20201228 (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
# https://github.com/0day-ci/linux/commit/3af46faf5418cb35d31847e75156f9bb24b3828a
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Bryan-O-Donoghue/wcn36xx-Enable-downstream-consistent-Wake-on-Lan/20201229-003134
git checkout 3af46faf5418cb35d31847e75156f9bb24b3828a
# 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 errors (new ones prefixed by >>):
In file included from include/linux/kernel.h:11,
from include/linux/skbuff.h:13,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from drivers/net/wireless/ath/wcn36xx/smd.c:19:
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));
| ^~~~~~~~~~~~~~~
drivers/net/wireless/ath/wcn36xx/smd.c: In function 'wcn36xx_smd_ipv6_ns_offload':
>> drivers/net/wireless/ath/wcn36xx/smd.c:2816:15: error: 'struct wcn36xx_vif' has no member named 'num_target_ipv6_addrs'
2816 | if (vif_priv->num_target_ipv6_addrs) {
| ^~
In file included from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from include/linux/smp.h:13,
from include/linux/lockdep.h:14,
from include/linux/spinlock.h:59,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/bvec.h:14,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from drivers/net/wireless/ath/wcn36xx/smd.c:19:
>> drivers/net/wireless/ath/wcn36xx/smd.c:2818:20: error: 'struct wcn36xx_vif' has no member named 'target_ipv6_addrs'
2818 | &vif_priv->target_ipv6_addrs[0].in6_u,
| ^~
arch/m68k/include/asm/string.h:72:45: note: in definition of macro 'memcpy'
72 | #define memcpy(d, s, n) __builtin_memcpy(d, s, n)
| ^
drivers/net/wireless/ath/wcn36xx/smd.c:2821:20: error: 'struct wcn36xx_vif' has no member named 'target_ipv6_addrs'
2821 | &vif_priv->target_ipv6_addrs[0].in6_u,
| ^~
arch/m68k/include/asm/string.h:72:45: note: in definition of macro 'memcpy'
72 | #define memcpy(d, s, n) __builtin_memcpy(d, s, n)
| ^
drivers/net/wireless/ath/wcn36xx/smd.c:2825:15: error: 'struct wcn36xx_vif' has no member named 'num_target_ipv6_addrs'
2825 | if (vif_priv->num_target_ipv6_addrs > 1) {
| ^~
In file included from include/linux/string.h:20,
from include/linux/bitmap.h:9,
from include/linux/cpumask.h:12,
from include/linux/smp.h:13,
from include/linux/lockdep.h:14,
from include/linux/spinlock.h:59,
from include/linux/mmzone.h:8,
from include/linux/gfp.h:6,
from include/linux/mm.h:10,
from include/linux/bvec.h:14,
from include/linux/skbuff.h:17,
from include/linux/if_ether.h:19,
from include/linux/etherdevice.h:20,
from drivers/net/wireless/ath/wcn36xx/smd.c:19:
drivers/net/wireless/ath/wcn36xx/smd.c:2827:20: error: 'struct wcn36xx_vif' has no member named 'target_ipv6_addrs'
2827 | &vif_priv->target_ipv6_addrs[1].in6_u,
| ^~
arch/m68k/include/asm/string.h:72:45: note: in definition of macro 'memcpy'
72 | #define memcpy(d, s, n) __builtin_memcpy(d, s, n)
| ^
vim +2816 drivers/net/wireless/ath/wcn36xx/smd.c
2796
2797 int wcn36xx_smd_ipv6_ns_offload(struct wcn36xx *wcn, struct ieee80211_vif *vif,
2798 bool enable)
2799 {
2800 struct wcn36xx_vif *vif_priv = wcn36xx_vif_to_priv(vif);
2801 struct wcn36xx_hal_host_offload_req_msg msg_body;
2802 struct wcn36xx_hal_ns_offload_params *ns_params;
2803 struct wcn36xx_hal_host_offload_req *ho_params;
2804 int ret;
2805
2806 mutex_lock(&wcn->hal_mutex);
2807
2808 INIT_HAL_MSG(msg_body, WCN36XX_HAL_HOST_OFFLOAD_REQ);
2809 ho_params = &msg_body.host_offload_params;
2810 ns_params = &msg_body.ns_offload_params;
2811
2812 ho_params->offload_type = WCN36XX_HAL_IPV6_NS_OFFLOAD;
2813 if (enable) {
2814 ho_params->enable =
2815 WCN36XX_HAL_OFFLOAD_NS_AND_MCAST_FILTER_ENABLE;
> 2816 if (vif_priv->num_target_ipv6_addrs) {
2817 memcpy(&ho_params->u,
> 2818 &vif_priv->target_ipv6_addrs[0].in6_u,
2819 sizeof(struct in6_addr));
2820 memcpy(&ns_params->target_ipv6_addr1,
2821 &vif_priv->target_ipv6_addrs[0].in6_u,
2822 sizeof(struct in6_addr));
2823 ns_params->target_ipv6_addr1_valid = 1;
2824 }
2825 if (vif_priv->num_target_ipv6_addrs > 1) {
2826 memcpy(&ns_params->target_ipv6_addr2,
2827 &vif_priv->target_ipv6_addrs[1].in6_u,
2828 sizeof(struct in6_addr));
2829 ns_params->target_ipv6_addr2_valid = 1;
2830 }
2831 }
2832 memcpy(&ns_params->self_addr, vif->addr, ETH_ALEN);
2833 ns_params->bss_index = vif_priv->bss_index;
2834
2835 PREPARE_HAL_BUF(wcn->hal_buf, msg_body);
2836
2837 ret = wcn36xx_smd_send_and_wait(wcn, msg_body.header.len);
2838 if (ret) {
2839 wcn36xx_err("Sending host_offload_arp failed\n");
2840 goto out;
2841 }
2842 ret = wcn36xx_smd_rsp_status_check(wcn->hal_buf, wcn->hal_rsp_len);
2843 if (ret) {
2844 wcn36xx_err("host_offload_arp failed err=%d\n", ret);
2845 goto out;
2846 }
2847 out:
2848 mutex_unlock(&wcn->hal_mutex);
2849 return ret;
2850 }
2851
---
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: 23005 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/wcn36xx/attachments/20201229/dbbbf39a/attachment-0001.gz>
More information about the wcn36xx
mailing list