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 |
Hi Stephen, Thanks for the heads-up, also on the merge issue. I'll pull back net-next and fix this. johannes
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 ...
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
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 --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,