Message ID | 20170103225715.14072-4-zajec5@gmail.com (mailing list archive) |
---|---|
State | Changes Requested |
Delegated to: | Johannes Berg |
Headers | show |
On Tue, Jan 03, 2017 at 11:57:15PM +0100, Rafał Miłecki wrote: > From: Rafał Miłecki <rafal@milecki.pl> > > There are some devices (e.g. Netgear R8000 home router) with one chipset > model used for different radios, some of them limited to subbands. NVRAM > entries don't contain any extra info on such limitations and firmware > reports full list of channels to us. We need to store extra limitation > info on DT to support such devices properly. This is the type of explanation that I'm looking for in the DT patch as well as the examples of where this data comes from now. Certainly, I think having per platform settings in userspace is not what you want. Rob
diff --git a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c index ccae3bb..f95e316 100644 --- a/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c +++ b/drivers/net/wireless/broadcom/brcm80211/brcmfmac/cfg80211.c @@ -5886,6 +5886,9 @@ static int brcmf_construct_chaninfo(struct brcmf_cfg80211_info *cfg, band->band); channel[index].hw_value = ch.control_ch_num; + if (channel->orig_flags & IEEE80211_CHAN_DISABLED) + continue; + /* assuming the chanspecs order is HT20, * HT40 upper, HT40 lower, and VHT80. */ @@ -6477,6 +6480,7 @@ static int brcmf_setup_wiphy(struct wiphy *wiphy, struct brcmf_if *ifp) wiphy->bands[NL80211_BAND_5GHZ] = band; } } + wiphy_read_of_freq_limits(wiphy); err = brcmf_setup_wiphybands(wiphy); return err; }