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: x86_64-randconfig-a016-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 # 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=x86_64 SHELL=/bin/bash net/mac80211/ net/wireless/ If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): In file included from net/mac80211/ibss.c:22: In file included from include/net/mac80211.h:21: 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; ^~~~~~~~~~~~~~~~~~ >> net/mac80211/ibss.c:422:13: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad' chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ net/mac80211/ibss.c:827:11: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad' ch_type = cfg80211_get_chandef_type(&ifibss->chandef); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 8 errors generated. -- In file included from net/mac80211/cfg.c:19: 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; ^~~~~~~~~~~~~~~~~~ >> net/mac80211/cfg.c:3350:52: error: invalid operands to binary expression ('struct cfg80211_fils_aad' and 'struct cfg80211_fils_aad') if (cfg80211_get_chandef_type(¶ms->chandef) != ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 7 errors generated. -- In file included from net/mac80211/util.c:14: In file included from include/net/mac80211.h:21: 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; ^~~~~~~~~~~~~~~~~~ >> net/mac80211/util.c:4038:11: error: assigning to 'enum nl80211_channel_type' from incompatible type 'struct cfg80211_fils_aad' ch_type = cfg80211_get_chandef_type(&csa_settings->chandef); ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 7 errors generated. -- In file included from net/mac80211/tdls.c:14: 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; ^~~~~~~~~~~~~~~~~~ >> net/mac80211/tdls.c:1512:49: error: invalid operands to binary expression ('struct cfg80211_fils_aad' and 'int') ht40plus = cfg80211_get_chandef_type(chandef) == ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ 7 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; ^~~~~~~~~~~~~~~~~~ >> 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/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) ^ 7 errors generated. vim +422 net/mac80211/ibss.c 469002983fc90c Johannes Berg 2009-02-15 396 af8cdcd828ad75 Johannes Berg 2009-04-19 397 static void ieee80211_sta_join_ibss(struct ieee80211_sub_if_data *sdata, 469002983fc90c Johannes Berg 2009-02-15 398 struct ieee80211_bss *bss) 469002983fc90c Johannes Berg 2009-02-15 399 { 0c1ad2cac1cb54 Johannes Berg 2009-12-23 400 struct cfg80211_bss *cbss = 0c1ad2cac1cb54 Johannes Berg 2009-12-23 401 container_of((void *)bss, struct cfg80211_bss, priv); b59066a291ca7c Johannes Berg 2009-05-12 402 struct ieee80211_supported_band *sband; 75a423f493ffdf Simon Wunderlich 2013-08-21 403 struct cfg80211_chan_def chandef; b59066a291ca7c Johannes Berg 2009-05-12 404 u32 basic_rates; b59066a291ca7c Johannes Berg 2009-05-12 405 int i, j; 0c1ad2cac1cb54 Johannes Berg 2009-12-23 406 u16 beacon_int = cbss->beacon_interval; 8cef2c9df88fdd Johannes Berg 2013-02-05 407 const struct cfg80211_bss_ies *ies; 75a423f493ffdf Simon Wunderlich 2013-08-21 408 enum nl80211_channel_type chan_type; 8cef2c9df88fdd Johannes Berg 2013-02-05 409 u64 tsf; 2103dec14792be Simon Wunderlich 2013-07-08 410 u32 rate_flags; 2103dec14792be Simon Wunderlich 2013-07-08 411 int shift; 57c4d7b4c49860 Johannes Berg 2009-04-23 412 8d61ffa5e01c5f Johannes Berg 2013-05-10 413 sdata_assert_lock(sdata); 7a17a33c0da37f Johannes Berg 2010-07-21 414 57c4d7b4c49860 Johannes Berg 2009-04-23 415 if (beacon_int < 10) 57c4d7b4c49860 Johannes Berg 2009-04-23 416 beacon_int = 10; 57c4d7b4c49860 Johannes Berg 2009-04-23 417 75a423f493ffdf Simon Wunderlich 2013-08-21 418 switch (sdata->u.ibss.chandef.width) { 75a423f493ffdf Simon Wunderlich 2013-08-21 419 case NL80211_CHAN_WIDTH_20_NOHT: 75a423f493ffdf Simon Wunderlich 2013-08-21 420 case NL80211_CHAN_WIDTH_20: 75a423f493ffdf Simon Wunderlich 2013-08-21 421 case NL80211_CHAN_WIDTH_40: 75a423f493ffdf Simon Wunderlich 2013-08-21 @422 chan_type = cfg80211_get_chandef_type(&sdata->u.ibss.chandef); 75a423f493ffdf Simon Wunderlich 2013-08-21 423 cfg80211_chandef_create(&chandef, cbss->channel, chan_type); 75a423f493ffdf Simon Wunderlich 2013-08-21 424 break; 75a423f493ffdf Simon Wunderlich 2013-08-21 425 case NL80211_CHAN_WIDTH_5: 75a423f493ffdf Simon Wunderlich 2013-08-21 426 case NL80211_CHAN_WIDTH_10: 75a423f493ffdf Simon Wunderlich 2013-08-21 427 cfg80211_chandef_create(&chandef, cbss->channel, a4ac6f2e53e568 Matthias Kaehlcke 2017-04-17 428 NL80211_CHAN_NO_HT); 75a423f493ffdf Simon Wunderlich 2013-08-21 429 chandef.width = sdata->u.ibss.chandef.width; 75a423f493ffdf Simon Wunderlich 2013-08-21 430 break; abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20 431 case NL80211_CHAN_WIDTH_80: c39b336deb2ec9 Jouni Malinen 2015-11-26 432 case NL80211_CHAN_WIDTH_80P80: abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20 433 case NL80211_CHAN_WIDTH_160: abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20 434 chandef = sdata->u.ibss.chandef; abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20 435 chandef.chan = cbss->channel; abcff6ef01f9ff Janusz.Dziedzic@xxxxxxxxx 2015-03-20 436 break; 75a423f493ffdf Simon Wunderlich 2013-08-21 437 default: 75a423f493ffdf Simon Wunderlich 2013-08-21 438 /* fall back to 20 MHz for unsupported modes */ 75a423f493ffdf Simon Wunderlich 2013-08-21 439 cfg80211_chandef_create(&chandef, cbss->channel, a4ac6f2e53e568 Matthias Kaehlcke 2017-04-17 440 NL80211_CHAN_NO_HT); 75a423f493ffdf Simon Wunderlich 2013-08-21 441 break; 75a423f493ffdf Simon Wunderlich 2013-08-21 442 } 75a423f493ffdf Simon Wunderlich 2013-08-21 443 0c1ad2cac1cb54 Johannes Berg 2009-12-23 444 sband = sdata->local->hw.wiphy->bands[cbss->channel->band]; 2103dec14792be Simon Wunderlich 2013-07-08 445 rate_flags = ieee80211_chandef_rate_flags(&sdata->u.ibss.chandef); 2103dec14792be Simon Wunderlich 2013-07-08 446 shift = ieee80211_vif_get_shift(&sdata->vif); b59066a291ca7c Johannes Berg 2009-05-12 447 b59066a291ca7c Johannes Berg 2009-05-12 448 basic_rates = 0; b59066a291ca7c Johannes Berg 2009-05-12 449 b59066a291ca7c Johannes Berg 2009-05-12 450 for (i = 0; i < bss->supp_rates_len; i++) { 2103dec14792be Simon Wunderlich 2013-07-08 451 int rate = bss->supp_rates[i] & 0x7f; b59066a291ca7c Johannes Berg 2009-05-12 452 bool is_basic = !!(bss->supp_rates[i] & 0x80); b59066a291ca7c Johannes Berg 2009-05-12 453 b59066a291ca7c Johannes Berg 2009-05-12 454 for (j = 0; j < sband->n_bitrates; j++) { 2103dec14792be Simon Wunderlich 2013-07-08 455 int brate; 2103dec14792be Simon Wunderlich 2013-07-08 456 if ((rate_flags & sband->bitrates[j].flags) 2103dec14792be Simon Wunderlich 2013-07-08 457 != rate_flags) 2103dec14792be Simon Wunderlich 2013-07-08 458 continue; 2103dec14792be Simon Wunderlich 2013-07-08 459 2103dec14792be Simon Wunderlich 2013-07-08 460 brate = DIV_ROUND_UP(sband->bitrates[j].bitrate, 2103dec14792be Simon Wunderlich 2013-07-08 461 5 * (1 << shift)); 2103dec14792be Simon Wunderlich 2013-07-08 462 if (brate == rate) { b59066a291ca7c Johannes Berg 2009-05-12 463 if (is_basic) b59066a291ca7c Johannes Berg 2009-05-12 464 basic_rates |= BIT(j); b59066a291ca7c Johannes Berg 2009-05-12 465 break; b59066a291ca7c Johannes Berg 2009-05-12 466 } b59066a291ca7c Johannes Berg 2009-05-12 467 } b59066a291ca7c Johannes Berg 2009-05-12 468 } b59066a291ca7c Johannes Berg 2009-05-12 469 8cef2c9df88fdd Johannes Berg 2013-02-05 470 rcu_read_lock(); 8cef2c9df88fdd Johannes Berg 2013-02-05 471 ies = rcu_dereference(cbss->ies); 8cef2c9df88fdd Johannes Berg 2013-02-05 472 tsf = ies->tsf; 8cef2c9df88fdd Johannes Berg 2013-02-05 473 rcu_read_unlock(); 8cef2c9df88fdd Johannes Berg 2013-02-05 474 0c1ad2cac1cb54 Johannes Berg 2009-12-23 475 __ieee80211_sta_join_ibss(sdata, cbss->bssid, 57c4d7b4c49860 Johannes Berg 2009-04-23 476 beacon_int, 75a423f493ffdf Simon Wunderlich 2013-08-21 477 &chandef, b59066a291ca7c Johannes Berg 2009-05-12 478 basic_rates, 0c1ad2cac1cb54 Johannes Berg 2009-12-23 479 cbss->capability, 8cef2c9df88fdd Johannes Berg 2013-02-05 480 tsf, false); 469002983fc90c Johannes Berg 2009-02-15 481 } 469002983fc90c Johannes Berg 2009-02-15 482 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip