diff mbox series

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

Message ID 20211221115004.1cd6b262@canb.auug.org.au (mailing list archive)
State Not Applicable
Delegated to: Kalle Valo
Headers show
Series linux-next: build failure after merge of the mac80211-next tree | expand

Commit Message

Stephen Rothwell Dec. 21, 2021, 12:50 a.m. UTC
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(-)

Comments

Johannes Berg Dec. 21, 2021, 11:02 a.m. UTC | #1
Hi Stephen,

Thanks for the heads-up, also on the merge issue.

I'll pull back net-next and fix this.

johannes
Stephen Rothwell Dec. 21, 2021, 11:15 a.m. UTC | #2
Hi Johannes,

On Tue, 21 Dec 2021 12:02:57 +0100 Johannes Berg <johannes@sipsolutions.net> wrote:
>
> Thanks for the heads-up, also on the merge issue.
> 
> I'll pull back net-next and fix this.

Or just let Dave know when you ask him to merge your tree ...
Johannes Berg Dec. 21, 2021, 11:17 a.m. UTC | #3
On Tue, 2021-12-21 at 22:15 +1100, Stephen Rothwell wrote:
> Hi Johannes,
> 
> On Tue, 21 Dec 2021 12:02:57 +0100 Johannes Berg <johannes@sipsolutions.net> wrote:
> > 
> > Thanks for the heads-up, also on the merge issue.
> > 
> > I'll pull back net-next and fix this.
> 
> Or just let Dave know when you ask him to merge your tree ...
> 

Yeah, I guess I can do that too.

Maybe I'll do that and link to both of your resolutions, they both look
good :)

johannes
Kalle Valo Dec. 21, 2021, 12:31 p.m. UTC | #4
Stephen Rothwell <sfr@canb.auug.org.au> writes:

> 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);

I would remove the commented out code '/* if
(ieee80211_is_probe_resp(mgmt->frame_control)) */', otherwise looks good
to me.
diff mbox series

Patch

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,