With the new edmg support struct cfg80211_chan_def has been extended with a number of new members. brcmf_cfg80211_get_channel() was not setting (clearing) these causing the cfg80211_edmg_chandef_valid() check in cfg80211_chandef_valid() to fail. Triggering a WARN_ON and, worse, causing brcmfmac based wifi cards to not work. This commit fixes this by clearing the entire passed struct to 0 before setting the members used by the brcmfmac code. This solution also makes sure that this problem will not repeat itself in the future if further members are added to the struct. Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> --- drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index e3ebb7abbdae..480c05f66ebd 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -5041,10 +5041,10 @@ static int brcmf_cfg80211_get_channel(struct wiphy *wiphy, } freq = ieee80211_channel_to_frequency(ch.control_ch_num, band); + memset(chandef, 0, sizeof(*chandef)); chandef->chan = ieee80211_get_channel(wiphy, freq); chandef->width = width; chandef->center_freq1 = ieee80211_channel_to_frequency(ch.chnum, band); - chandef->center_freq2 = 0; return 0; } -- 2.23.0