Hi Subrat, Thank you for the patch! Yet something to improve: [auto build test ERROR on mac80211-next/master] [also build test ERROR on next-20210908] [cannot apply to mac80211/master v5.14] [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/Subrat-Mishra/cfg80211-AP-mode-driver-offload-for-FILS-association-crypto/20210908-172202 base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master config: mips-randconfig-r004-20210908 (attached as .config) compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 9c476172b93367d2cb88d7d3f4b1b5b456fa6020) 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 mips cross compiling tool for clang build # apt-get install binutils-mips-linux-gnu # https://github.com/0day-ci/linux/commit/cccf904c13513e3beb1919c1153d552145b45443 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Subrat-Mishra/cfg80211-AP-mode-driver-offload-for-FILS-association-crypto/20210908-172202 git checkout cccf904c13513e3beb1919c1153d552145b45443 # save the attached .config to linux build tree mkdir build_dir COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross O=build_dir ARCH=mips SHELL=/bin/bash net/wireless/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot All errors (new ones prefixed by >>): In file included from net/wireless/wext-core.c:17: >> include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier static inline enum nl80211_channel_type ^ >> include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT20; ^~~~~~~~~~~~~~~~~ include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40PLUS; ^~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40MINUS; ^~~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ 6 errors generated. -- In file included from net/wireless/util.c:15: >> include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier static inline enum nl80211_channel_type ^ >> include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT20; ^~~~~~~~~~~~~~~~~ include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40PLUS; ^~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40MINUS; ^~~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ In file included from net/wireless/util.c:16: In file included from include/net/ip.h:28: In file included from include/net/inet_sock.h:22: In file included from include/net/sock.h:61: include/linux/poll.h:142:27: warning: division by zero is undefined [-Wdivision-by-zero] M(RDNORM) | M(RDBAND) | M(WRNORM) | M(WRBAND) | ^~~~~~~~~ include/linux/poll.h:140:32: note: expanded from macro 'M' #define M(X) (__force __poll_t)__MAP(val, POLL##X, (__force __u16)EPOLL##X) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/poll.h:126:51: note: expanded from macro '__MAP' (from < to ? (v & from) * (to/from) : (v & from) / (from/to)) ^ ~~~~~~~~~ include/linux/poll.h:142:39: warning: division by zero is undefined [-Wdivision-by-zero] M(RDNORM) | M(RDBAND) | M(WRNORM) | M(WRBAND) | ^~~~~~~~~ include/linux/poll.h:140:32: note: expanded from macro 'M' #define M(X) (__force __poll_t)__MAP(val, POLL##X, (__force __u16)EPOLL##X) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/poll.h:126:51: note: expanded from macro '__MAP' (from < to ? (v & from) * (to/from) : (v & from) / (from/to)) ^ ~~~~~~~~~ 2 warnings and 6 errors generated. -- In file included from net/wireless/nl80211.c:26: >> include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier static inline enum nl80211_channel_type ^ >> include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT20; ^~~~~~~~~~~~~~~~~ include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40PLUS; ^~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40MINUS; ^~~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ In file included from net/wireless/nl80211.c:27: In file included from include/net/sock.h:61: include/linux/poll.h:142:27: warning: division by zero is undefined [-Wdivision-by-zero] M(RDNORM) | M(RDBAND) | M(WRNORM) | M(WRBAND) | ^~~~~~~~~ include/linux/poll.h:140:32: note: expanded from macro 'M' #define M(X) (__force __poll_t)__MAP(val, POLL##X, (__force __u16)EPOLL##X) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/poll.h:126:51: note: expanded from macro '__MAP' (from < to ? (v & from) * (to/from) : (v & from) / (from/to)) ^ ~~~~~~~~~ include/linux/poll.h:142:39: warning: division by zero is undefined [-Wdivision-by-zero] M(RDNORM) | M(RDBAND) | M(WRNORM) | M(WRBAND) | ^~~~~~~~~ include/linux/poll.h:140:32: note: expanded from macro 'M' #define M(X) (__force __poll_t)__MAP(val, POLL##X, (__force __u16)EPOLL##X) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/poll.h:126:51: note: expanded from macro '__MAP' (from < to ? (v & from) * (to/from) : (v & from) / (from/to)) ^ ~~~~~~~~~ >> net/wireless/nl80211.c:3543:5: error: passing 'struct cfg80211_fils_aad' to parameter of incompatible type 'u32' (aka 'unsigned int') cfg80211_get_chandef_type(chandef))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/net/netlink.h:1307:70: note: passing argument to parameter 'value' here static inline int nla_put_u32(struct sk_buff *skb, int attrtype, u32 value) ^ >> net/wireless/nl80211.c:3543:5: error: passing 'struct cfg80211_fils_aad' to parameter of incompatible type 'u32' (aka 'unsigned int') cfg80211_get_chandef_type(chandef))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:61: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/net/netlink.h:1307:70: note: passing argument to parameter 'value' here static inline int nla_put_u32(struct sk_buff *skb, int attrtype, u32 value) ^ >> net/wireless/nl80211.c:3543:5: error: passing 'struct cfg80211_fils_aad' to parameter of incompatible type 'u32' (aka 'unsigned int') cfg80211_get_chandef_type(chandef))) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/compiler.h:56:47: note: expanded from macro 'if' #define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) ) ^~~~ include/linux/compiler.h:58:86: note: expanded from macro '__trace_if_var' #define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond)) ^~~~ include/linux/compiler.h:69:3: note: expanded from macro '__trace_if_value' (cond) ? \ ^~~~ include/net/netlink.h:1307:70: note: passing argument to parameter 'value' here static inline int nla_put_u32(struct sk_buff *skb, int attrtype, u32 value) ^ 2 warnings and 9 errors generated. -- In file included from net/wireless/trace.c:5: In file included from net/wireless/trace.h:12: >> include/net/cfg80211.h:765:15: error: cannot combine with previous 'struct' declaration specifier static inline enum nl80211_channel_type ^ >> include/net/cfg80211.h:770:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:772:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT20; ^~~~~~~~~~~~~~~~~ include/net/cfg80211.h:775:11: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40PLUS; ^~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:776:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_HT40MINUS; ^~~~~~~~~~~~~~~~~~~~~~ include/net/cfg80211.h:779:10: error: returning 'int' from a function with incompatible result type 'struct cfg80211_fils_aad' return NL80211_CHAN_NO_HT; ^~~~~~~~~~~~~~~~~~ In file included from net/wireless/trace.c:5: In file included from net/wireless/trace.h:3683: include/trace/define_trace.h:95:10: fatal error: './trace.h' file not found #include TRACE_INCLUDE(TRACE_INCLUDE_FILE) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/trace/define_trace.h:90:32: note: expanded from macro 'TRACE_INCLUDE' # define TRACE_INCLUDE(system) __TRACE_INCLUDE(system) ^~~~~~~~~~~~~~~~~~~~~~~ include/trace/define_trace.h:87:34: note: expanded from macro '__TRACE_INCLUDE' # define __TRACE_INCLUDE(system) __stringify(TRACE_INCLUDE_PATH/system.h) ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/stringify.h:10:27: note: expanded from macro '__stringify' #define __stringify(x...) __stringify_1(x) ^~~~~~~~~~~~~~~~ include/linux/stringify.h:9:29: note: expanded from macro '__stringify_1' #define __stringify_1(x...) #x ^~ :71:1: note: expanded from here "./trace.h" ^~~~~~~~~~~ 7 errors generated. vim +/struct +765 include/net/cfg80211.h cccf904c13513e Subrat Mishra 2021-09-08 757 3d9d1d6656a73e Johannes Berg 2012-11-08 758 /** 3d9d1d6656a73e Johannes Berg 2012-11-08 759 * cfg80211_get_chandef_type - return old channel type from chandef 3d9d1d6656a73e Johannes Berg 2012-11-08 760 * @chandef: the channel definition 3d9d1d6656a73e Johannes Berg 2012-11-08 761 * 0ae997dc75efb6 Yacine Belkadi 2013-01-12 762 * Return: The old channel type (NOHT, HT20, HT40+/-) from a given 3d9d1d6656a73e Johannes Berg 2012-11-08 763 * chandef, which must have a bandwidth allowing this conversion. 3d9d1d6656a73e Johannes Berg 2012-11-08 764 */ 683b6d3b31a519 Johannes Berg 2012-11-08 @765 static inline enum nl80211_channel_type 683b6d3b31a519 Johannes Berg 2012-11-08 766 cfg80211_get_chandef_type(const struct cfg80211_chan_def *chandef) 683b6d3b31a519 Johannes Berg 2012-11-08 767 { 3d9d1d6656a73e Johannes Berg 2012-11-08 768 switch (chandef->width) { 3d9d1d6656a73e Johannes Berg 2012-11-08 769 case NL80211_CHAN_WIDTH_20_NOHT: 3d9d1d6656a73e Johannes Berg 2012-11-08 @770 return NL80211_CHAN_NO_HT; 3d9d1d6656a73e Johannes Berg 2012-11-08 771 case NL80211_CHAN_WIDTH_20: 3d9d1d6656a73e Johannes Berg 2012-11-08 772 return NL80211_CHAN_HT20; 3d9d1d6656a73e Johannes Berg 2012-11-08 773 case NL80211_CHAN_WIDTH_40: 3d9d1d6656a73e Johannes Berg 2012-11-08 774 if (chandef->center_freq1 > chandef->chan->center_freq) 3d9d1d6656a73e Johannes Berg 2012-11-08 775 return NL80211_CHAN_HT40PLUS; 3d9d1d6656a73e Johannes Berg 2012-11-08 776 return NL80211_CHAN_HT40MINUS; 3d9d1d6656a73e Johannes Berg 2012-11-08 777 default: 3d9d1d6656a73e Johannes Berg 2012-11-08 778 WARN_ON(1); 3d9d1d6656a73e Johannes Berg 2012-11-08 779 return NL80211_CHAN_NO_HT; 3d9d1d6656a73e Johannes Berg 2012-11-08 780 } 3d9d1d6656a73e Johannes Berg 2012-11-08 781 } 3d9d1d6656a73e Johannes Berg 2012-11-08 782 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org