linux-next: build failure after merge of the mac80211-next tree

Stephen Rothwell
2021-12-21T00:50:10Z

[-- Attachment #1: Type: text/plain, Size: 2754 bytes --]

Hi all,

After merging the mac80211-next tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/net/wireless/ath/ath10k/wmi.c: In function 'ath10k_wmi_event_mgmt_rx':
drivers/net/wireless/ath/ath10k/wmi.c:2626:12: error: too few arguments to function 'cfg80211_get_ies_channel_number'
2626 | ies_ch = cfg80211_get_ies_channel_number(mgmt->u.beacon.variable,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from include/net/mac80211.h:21,
from drivers/net/wireless/ath/ath10k/htt.h:16,
from drivers/net/wireless/ath/ath10k/core.h:18,
from drivers/net/wireless/ath/ath10k/wmi.c:11:
include/net/cfg80211.h:6421:5: note: declared here
6421 | int cfg80211_get_ies_channel_number(const u8 *ie, size_t ielen,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Caused by commit

7f599aeccbd2 ("cfg80211: Use the HE operation IE to determine a 6GHz BSS channel")

interacting with commit

3bf2537ec2e3 ("ath10k: drop beacon and probe response which leak from other channel")

from the net-next tree.

I have applied the following merge fix patch for today (which, on
reflection, may not be correct, but builds).

From: Stephen Rothwell <sfr@canb.auug.org.au>
Date: Tue, 21 Dec 2021 11:40:49 +1100
Subject: [PATCH] fixup for "cfg80211: Use the HE operation IE to determine a 6GHz BSS channel"

Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
---
drivers/net/wireless/ath/ath10k/wmi.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/drivers/net/wireless/ath/ath10k/wmi.c b/drivers/net/wireless/ath/ath10k/wmi.c
index 4733fd7fb169..657bd6a32a36 100644
--- a/drivers/net/wireless/ath/ath10k/wmi.c
+++ b/drivers/net/wireless/ath/ath10k/wmi.c
@@ -2613,6 +2613,7 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)
if (ieee80211_is_beacon(hdr->frame_control) ||
ieee80211_is_probe_resp(hdr->frame_control)) {
struct ieee80211_mgmt *mgmt = (void *)skb->data;
+ enum cfg80211_bss_frame_type ftype;
u8 *ies;
int ies_ch;

@@ -2623,9 +2624,14 @@ int ath10k_wmi_event_mgmt_rx(struct ath10k *ar, struct sk_buff *skb)

ies = mgmt->u.beacon.variable;

+ if (ieee80211_is_beacon(mgmt->frame_control))
+ ftype = CFG80211_BSS_FTYPE_BEACON;
+ else /* if (ieee80211_is_probe_resp(mgmt->frame_control)) */
+ ftype = CFG80211_BSS_FTYPE_PRESP;
+
ies_ch = cfg80211_get_ies_channel_number(mgmt->u.beacon.variable,
skb_tail_pointer(skb) - ies,
- sband->band);
+ sband->band, ftype);

if (ies_ch > 0 && ies_ch != channel) {
ath10k_dbg(ar, ATH10K_DBG_MGMT,
--
2.33.0

--
Cheers,
Stephen Rothwell

[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]