From: kernel test robot <lkp@intel.com>
To: Arend van Spriel <arend.vanspriel@broadcom.com>,
Kalle Valo <kvalo@kernel.org>
Cc: oe-kbuild-all@lists.linux.dev, linux-wireless@vger.kernel.org,
brcm80211@lists.linux.dev,
Arend van Spriel <arend.vanspriel@broadcom.com>,
Chung-Hsien Hsu <chung-hsien.hsu@infineon.com>,
Chi-hsien Lin <chi-hsien.lin@infineon.com>
Subject: Re: [RFT 3/3] wifi: brcmfmac: cyw: support external SAE authentication in station mode
Date: Wed, 18 Sep 2024 15:31:29 +0800 [thread overview]
Message-ID: <202409181714.QfWaGA1c-lkp@intel.com> (raw)
In-Reply-To: <20240915140049.181380-4-arend.vanspriel@broadcom.com>
Hi Arend,
kernel test robot noticed the following build warnings:
[auto build test WARNING on 34c44eb31de9cb7202ff070900463d6c706392c4]
url: https://github.com/intel-lab-lkp/linux/commits/Arend-van-Spriel/wifi-brcmfmac-support-per-vendor-cfg80211-callbacks-and-firmware-events/20240915-220310
base: 34c44eb31de9cb7202ff070900463d6c706392c4
patch link: https://lore.kernel.org/r/20240915140049.181380-4-arend.vanspriel%40broadcom.com
patch subject: [RFT 3/3] wifi: brcmfmac: cyw: support external SAE authentication in station mode
config: i386-allmodconfig (https://download.01.org/0day-ci/archive/20240918/202409181714.QfWaGA1c-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240918/202409181714.QfWaGA1c-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409181714.QfWaGA1c-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c: In function 'brcmf_cyw_mgmt_tx':
>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c:118:13: warning: variable 'timeout' set but not used [-Wunused-but-set-variable]
118 | s32 timeout;
| ^~~~~~~
drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c: At top level:
>> drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c:52:42: warning: 'brcmf_cyw_event_map' defined but not used [-Wunused-const-variable=]
52 | static const struct brcmf_fweh_event_map brcmf_cyw_event_map = {
| ^~~~~~~~~~~~~~~~~~~
vim +/timeout +118 drivers/net/wireless/broadcom/brcm80211/brcmfmac/cyw/core.c
51
> 52 static const struct brcmf_fweh_event_map brcmf_cyw_event_map = {
53 .items = {
54 { BRCMF_E_EXT_AUTH_REQ, BRCMF_CYW_E_EXT_AUTH_REQ },
55 { BRCMF_E_EXT_AUTH_FRAME_RX, BRCMF_CYW_E_EXT_AUTH_FRAME_RX },
56 { BRCMF_E_MGMT_FRAME_TXSTATUS, BRCMF_CYW_E_MGMT_FRAME_TXS },
57 {
58 BRCMF_E_MGMT_FRAME_OFFCHAN_DONE,
59 BRCMF_CYW_E_MGMT_FRAME_TXS_OC
60 },
61 },
62 .n_items = 1
63 };
64
65 static int brcmf_cyw_alloc_fweh_info(struct brcmf_pub *drvr)
66 {
67 struct brcmf_fweh_info *fweh;
68
69 fweh = kzalloc(struct_size(fweh, evt_handler, BRCMF_CYW_E_LAST),
70 GFP_KERNEL);
71 if (!fweh)
72 return -ENOMEM;
73
74 fweh->num_event_codes = BRCMF_CYW_E_LAST;
75 drvr->fweh = fweh;
76 return 0;
77 }
78
79 static int brcmf_cyw_activate_events(struct brcmf_if *ifp)
80 {
81 struct brcmf_fweh_info *fweh = ifp->drvr->fweh;
82 struct brcmf_eventmsgs_ext *eventmask_msg;
83 u32 msglen;
84 int err;
85
86 msglen = sizeof(*eventmask_msg) + fweh->event_mask_len;
87 eventmask_msg = kzalloc(msglen, GFP_KERNEL);
88 if (!eventmask_msg)
89 return -ENOMEM;
90 eventmask_msg->ver = EVENTMSGS_VER;
91 eventmask_msg->command = CYW_EVENTMSGS_SET_MASK;
92 eventmask_msg->len = fweh->event_mask_len;
93 memcpy(eventmask_msg->mask, fweh->event_mask, fweh->event_mask_len);
94
95 err = brcmf_fil_iovar_data_set(ifp, "event_msgs_ext", eventmask_msg,
96 msglen);
97 kfree(eventmask_msg);
98 return err;
99 }
100
101 static
102 int brcmf_cyw_mgmt_tx(struct wiphy *wiphy, struct wireless_dev *wdev,
103 struct cfg80211_mgmt_tx_params *params, u64 *cookie)
104 {
105 struct brcmf_cfg80211_info *cfg = wiphy_to_cfg(wiphy);
106 struct ieee80211_channel *chan = params->chan;
107 struct brcmf_pub *drvr = cfg->pub;
108 const u8 *buf = params->buf;
109 size_t len = params->len;
110 const struct ieee80211_mgmt *mgmt;
111 struct brcmf_cfg80211_vif *vif;
112 s32 err = 0;
113 bool ack = false;
114 s32 chan_nr;
115 u32 freq;
116 struct brcmf_mf_params_le *mf_params;
117 u32 mf_params_len;
> 118 s32 timeout;
119
120 brcmf_dbg(TRACE, "Enter\n");
121
122 mgmt = (const struct ieee80211_mgmt *)buf;
123
124 if (!ieee80211_is_auth(mgmt->frame_control))
125 return brcmf_cfg80211_mgmt_tx(wiphy, wdev, params, cookie);
126
127 *cookie = 0;
128 vif = container_of(wdev, struct brcmf_cfg80211_vif, wdev);
129
130 reinit_completion(&vif->mgmt_tx);
131 clear_bit(BRCMF_MGMT_TX_ACK, &vif->mgmt_tx_status);
132 clear_bit(BRCMF_MGMT_TX_NOACK, &vif->mgmt_tx_status);
133 clear_bit(BRCMF_MGMT_TX_OFF_CHAN_COMPLETED,
134 &vif->mgmt_tx_status);
135 mf_params_len = offsetof(struct brcmf_mf_params_le, data) +
136 (len - DOT11_MGMT_HDR_LEN);
137 mf_params = kzalloc(mf_params_len, GFP_KERNEL);
138 if (!mf_params)
139 return -ENOMEM;
140
141 mf_params->dwell_time = cpu_to_le32(MGMT_AUTH_FRAME_DWELL_TIME);
142 mf_params->len = cpu_to_le16(len - DOT11_MGMT_HDR_LEN);
143 mf_params->frame_control = mgmt->frame_control;
144
145 if (chan)
146 freq = chan->center_freq;
147 else
148 brcmf_fil_cmd_int_get(vif->ifp, BRCMF_C_GET_CHANNEL,
149 &freq);
150 chan_nr = ieee80211_frequency_to_channel(freq);
151 mf_params->channel = cpu_to_le32(chan_nr);
152 memcpy(&mf_params->da[0], &mgmt->da[0], ETH_ALEN);
153 memcpy(&mf_params->bssid[0], &mgmt->bssid[0], ETH_ALEN);
154 mf_params->packet_id = cpu_to_le32(*cookie);
155 memcpy(mf_params->data, &buf[DOT11_MGMT_HDR_LEN],
156 le16_to_cpu(mf_params->len));
157
158 brcmf_dbg(TRACE, "Auth frame, cookie=%d, fc=%04x, len=%d, channel=%d\n",
159 le32_to_cpu(mf_params->packet_id),
160 le16_to_cpu(mf_params->frame_control),
161 le16_to_cpu(mf_params->len),
162 le32_to_cpu(mf_params->channel));
163
164 vif->mgmt_tx_id = le32_to_cpu(mf_params->packet_id);
165 set_bit(BRCMF_MGMT_TX_SEND_FRAME, &vif->mgmt_tx_status);
166
167 err = brcmf_fil_bsscfg_data_set(vif->ifp, "mgmt_frame",
168 mf_params, mf_params_len);
169 if (err) {
170 bphy_err(drvr, "Failed to send Auth frame: err=%d\n",
171 err);
172 goto tx_status;
173 }
174
175 timeout =
176 wait_for_completion_timeout(&vif->mgmt_tx,
177 MGMT_AUTH_FRAME_WAIT_TIME);
178 if (test_bit(BRCMF_MGMT_TX_ACK, &vif->mgmt_tx_status)) {
179 brcmf_dbg(TRACE, "TX Auth frame operation is success\n");
180 ack = true;
181 } else {
182 bphy_err(drvr, "TX Auth frame operation is failed: status=%ld)\n",
183 vif->mgmt_tx_status);
184 }
185
186 tx_status:
187 cfg80211_mgmt_tx_status(wdev, *cookie, buf, len, ack,
188 GFP_KERNEL);
189 kfree(mf_params);
190 return err;
191 }
192
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
next prev parent reply other threads:[~2024-09-18 7:32 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-09-15 14:00 [RFT 0/3] brcmfmac: external auth support for Infineon devices Arend van Spriel
2024-09-15 14:00 ` [RFT 1/3] wifi: brcmfmac: support per-vendor cfg80211 callbacks and firmware events Arend van Spriel
2024-09-15 14:00 ` [RFT 2/3] wifi: brcmfmac: make per-vendor event map const Arend van Spriel
2024-09-15 14:00 ` [RFT 3/3] wifi: brcmfmac: cyw: support external SAE authentication in station mode Arend van Spriel
2024-09-18 7:31 ` kernel test robot [this message]
2024-09-18 12:23 ` Arend van Spriel
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=202409181714.QfWaGA1c-lkp@intel.com \
--to=lkp@intel.com \
--cc=arend.vanspriel@broadcom.com \
--cc=brcm80211@lists.linux.dev \
--cc=chi-hsien.lin@infineon.com \
--cc=chung-hsien.hsu@infineon.com \
--cc=kvalo@kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=oe-kbuild-all@lists.linux.dev \
/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.