[PATCH v2] cfg80211: AP mode driver offload for FILS association crypto
kernel test robot
lkp at intel.com
Wed Sep 8 09:10:59 PDT 2021
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 at intel.com>
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 at tieto.com 2015-03-20 431 case NL80211_CHAN_WIDTH_80:
c39b336deb2ec9 Jouni Malinen 2015-11-26 432 case NL80211_CHAN_WIDTH_80P80:
abcff6ef01f9ff Janusz.Dziedzic at tieto.com 2015-03-20 433 case NL80211_CHAN_WIDTH_160:
abcff6ef01f9ff Janusz.Dziedzic at tieto.com 2015-03-20 434 chandef = sdata->u.ibss.chandef;
abcff6ef01f9ff Janusz.Dziedzic at tieto.com 2015-03-20 435 chandef.chan = cbss->channel;
abcff6ef01f9ff Janusz.Dziedzic at tieto.com 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@lists.01.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: .config.gz
Type: application/gzip
Size: 39613 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/ath11k/attachments/20210909/6e0c3326/attachment-0001.gz>
More information about the ath11k
mailing list