From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: Re: [RFC 09/10] mac80211: build HE operation with 6 GHz oper information
Date: Fri, 29 May 2020 01:57:41 +0800 [thread overview]
Message-ID: <202005290119.1r3he2fu%lkp@intel.com> (raw)
In-Reply-To: <20200528094428.23474-1-johannes@sipsolutions.net>
[-- Attachment #1: Type: text/plain, Size: 12325 bytes --]
Hi Johannes,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on mac80211-next/master]
[also build test ERROR on next-20200528]
[cannot apply to mac80211/master v5.7-rc7]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Johannes-Berg/cfg80211-add-a-helper-to-identify-6-GHz-PSCs/20200528-174914
base: https://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next.git master
config: x86_64-allyesconfig (attached as .config)
compiler: clang version 11.0.0 (https://github.com/llvm/llvm-project 2d068e534f1671459e1b135852c1b3c10502e929)
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 x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
>> net/mac80211/util.c:3021:13: error: invalid application of 'sizeof' to an incomplete type 'struct ieee80211_he_oper_6ghz_op_info'
ie_len += sizeof(struct ieee80211_he_oper_6ghz_op_info);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
>> net/mac80211/util.c:3050:12: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->min_rate = 6; /* 6 Mbps */
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3051:12: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->primary_chan =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3053:12: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg0_idx =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3056:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg1_idx =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3059:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg1_idx = 0;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3066:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->control =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
>> net/mac80211/util.c:3067:4: error: use of undeclared identifier 'IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ'; did you mean 'IEEE80211_VHT_CHANWIDTH_80P80MHZ'?
IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IEEE80211_VHT_CHANWIDTH_80P80MHZ
include/linux/ieee80211.h:1692:2: note: 'IEEE80211_VHT_CHANWIDTH_80P80MHZ' declared here
IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3,
^
net/mac80211/util.c:3068:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg1_idx =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3069:14: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg0_idx;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3071:14: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg0_idx -= 8;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3073:14: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->center_freq_seg0_idx += 8;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3076:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->control =
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
net/mac80211/util.c:3077:4: error: use of undeclared identifier 'IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ'; did you mean 'IEEE80211_VHT_CHANWIDTH_80P80MHZ'?
IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IEEE80211_VHT_CHANWIDTH_80P80MHZ
include/linux/ieee80211.h:1692:2: note: 'IEEE80211_VHT_CHANWIDTH_80P80MHZ' declared here
IEEE80211_VHT_CHANWIDTH_80P80MHZ = 3,
^
net/mac80211/util.c:3080:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_80MHZ;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
>> net/mac80211/util.c:3080:25: error: use of undeclared identifier 'IEEE80211_HE_6GHZ_CHANWIDTH_80MHZ'; did you mean 'IEEE80211_VHT_CHANWIDTH_80MHZ'?
he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_80MHZ;
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
IEEE80211_VHT_CHANWIDTH_80MHZ
include/linux/ieee80211.h:1690:2: note: 'IEEE80211_VHT_CHANWIDTH_80MHZ' declared here
IEEE80211_VHT_CHANWIDTH_80MHZ = 1,
^
net/mac80211/util.c:3083:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_40MHZ;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
>> net/mac80211/util.c:3083:25: error: use of undeclared identifier 'IEEE80211_HE_6GHZ_CHANWIDTH_40MHZ'
he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_40MHZ;
^
net/mac80211/util.c:3086:13: error: incomplete definition of type 'struct ieee80211_he_oper_6ghz_op_info'
he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_20MHZ;
~~~~~~~~~~^
net/mac80211/util.c:3016:9: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
--
>> net/mac80211/mesh.c:584:10: error: invalid application of 'sizeof' to an incomplete type 'struct ieee80211_he_oper_6ghz_op_info'
len += sizeof(struct ieee80211_he_oper_6ghz_op_info);
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/mesh.c:584:24: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
len += sizeof(struct ieee80211_he_oper_6ghz_op_info);
^
net/mac80211/mesh.c:781:7: error: invalid application of 'sizeof' to an incomplete type 'struct ieee80211_he_oper_6ghz_op_info'
sizeof(struct ieee80211_he_oper_6ghz_op_info) +
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/mesh.c:781:21: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
sizeof(struct ieee80211_he_oper_6ghz_op_info) +
^
2 errors generated.
--
>> net/mac80211/mesh_plink.c:241:9: error: invalid application of 'sizeof' to an incomplete type 'struct ieee80211_he_oper_6ghz_op_info'
sizeof(struct ieee80211_he_oper_6ghz_op_info) +
^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
net/mac80211/mesh_plink.c:241:23: note: forward declaration of 'struct ieee80211_he_oper_6ghz_op_info'
sizeof(struct ieee80211_he_oper_6ghz_op_info) +
^
1 error generated.
vim +3021 net/mac80211/util.c
3012
3013 u8 *ieee80211_ie_build_he_oper(u8 *pos, struct cfg80211_chan_def *chandef)
3014 {
3015 struct ieee80211_he_operation *he_oper;
3016 struct ieee80211_he_oper_6ghz_op_info *he_6ghz_op;
3017 u32 he_oper_params;
3018 u8 ie_len = 1 + sizeof(struct ieee80211_he_operation);
3019
3020 if (chandef->chan->band == NL80211_BAND_6GHZ)
> 3021 ie_len += sizeof(struct ieee80211_he_oper_6ghz_op_info);
3022
3023 *pos++ = WLAN_EID_EXTENSION;
3024 *pos++ = ie_len;
3025 *pos++ = WLAN_EID_EXT_HE_OPERATION;
3026
3027 he_oper_params = 0;
3028 he_oper_params |= u32_encode_bits(1023, /* disabled */
3029 IEEE80211_HE_OPERATION_RTS_THRESHOLD_MASK);
3030 he_oper_params |= u32_encode_bits(1,
3031 IEEE80211_HE_OPERATION_ER_SU_DISABLE);
3032 he_oper_params |= u32_encode_bits(1,
3033 IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED);
3034 if (chandef->chan->band == NL80211_BAND_6GHZ)
3035 he_oper_params |= u32_encode_bits(1,
3036 IEEE80211_HE_OPERATION_6GHZ_OP_INFO);
3037
3038 he_oper = (struct ieee80211_he_operation *)pos;
3039 he_oper->he_oper_params = cpu_to_le32(he_oper_params);
3040
3041 /* don't require special HE peer rates */
3042 he_oper->he_mcs_nss_set = cpu_to_le16(0xffff);
3043 pos += sizeof(struct ieee80211_he_operation);
3044
3045 if (chandef->chan->band != NL80211_BAND_6GHZ)
3046 goto out;
3047
3048 /* TODO add VHT operational */
3049 he_6ghz_op = (struct ieee80211_he_oper_6ghz_op_info *)pos;
> 3050 he_6ghz_op->min_rate = 6; /* 6 Mbps */
3051 he_6ghz_op->primary_chan =
3052 ieee80211_frequency_to_channel(chandef->chan->center_freq);
3053 he_6ghz_op->center_freq_seg0_idx =
3054 ieee80211_frequency_to_channel(chandef->center_freq1);
3055 if (chandef->center_freq2)
3056 he_6ghz_op->center_freq_seg1_idx =
3057 ieee80211_frequency_to_channel(chandef->center_freq2);
3058 else
3059 he_6ghz_op->center_freq_seg1_idx = 0;
3060
3061 switch (chandef->width) {
3062 case NL80211_CHAN_WIDTH_160:
3063 /* Convert 160 MHz channel width to new style as interop
3064 * workaround.
3065 */
3066 he_6ghz_op->control =
> 3067 IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ;
3068 he_6ghz_op->center_freq_seg1_idx =
3069 he_6ghz_op->center_freq_seg0_idx;
3070 if (chandef->chan->center_freq < chandef->center_freq1)
3071 he_6ghz_op->center_freq_seg0_idx -= 8;
3072 else
3073 he_6ghz_op->center_freq_seg0_idx += 8;
3074 fallthrough;
3075 case NL80211_CHAN_WIDTH_80P80:
3076 he_6ghz_op->control =
3077 IEEE80211_HE_6GHZ_CHANWIDTH_160MHZ_80P80MHZ;
3078 break;
3079 case NL80211_CHAN_WIDTH_80:
> 3080 he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_80MHZ;
3081 break;
3082 case NL80211_CHAN_WIDTH_40:
> 3083 he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_40MHZ;
3084 break;
3085 default:
3086 he_6ghz_op->control = IEEE80211_HE_6GHZ_CHANWIDTH_20MHZ;
3087 break;
3088 }
3089
3090 pos += sizeof(struct ieee80211_he_oper_6ghz_op_info);
3091
3092 out:
3093 return pos;
3094 }
3095
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 73564 bytes --]
next prev parent reply other threads:[~2020-05-28 17:57 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-05-28 9:44 [RFC 01/10] cfg80211: add a helper to identify 6 GHz PSCs Johannes Berg
2020-05-28 9:44 ` [RFC 02/10] ieee80211: definitions for reduced neighbor reports Johannes Berg
2020-05-28 9:44 ` [RFC 03/10] ieee80211: add code to obtain and parse 6 GHz operation field Johannes Berg
2020-05-28 9:44 ` [RFC 04/10] ieee80211: add HE ext EIDs and 6 GHz capability defines Johannes Berg
2020-05-28 9:44 ` [RFC 05/10] cfg80211: handle 6 GHz capability of new station Johannes Berg
2020-05-28 9:44 ` [RFC 06/10] mac80211: add HE 6 GHz Band Capabilities into parse extension Johannes Berg
2020-05-28 9:44 ` [RFC 07/10] cfg80211: add and expose HE 6 GHz band capabilities Johannes Berg
2020-05-28 9:44 ` [RFC 08/10] mac80211: add HE 6 GHz Band Capability element Johannes Berg
2020-05-28 12:33 ` Johannes Berg
2020-05-28 9:44 ` [RFC 09/10] mac80211: build HE operation with 6 GHz oper information Johannes Berg
2020-05-28 9:50 ` [RFC PATCH v2] " Johannes Berg
2020-05-28 17:57 ` kbuild test robot [this message]
2020-05-28 23:22 ` [RFC 09/10] " kbuild test robot
2020-05-29 1:42 ` kbuild test robot
2020-05-28 9:44 ` [RFC 10/10] mac80211: do not allow HT/VHT IEs in 6 GHz mesh mode Johannes Berg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202005290119.1r3he2fu%lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.