Re: [PATCH V3 2/2] cfg80211: support ieee80211-freq-limit DT property
From: Johannes Berg <hidden>
Date: 2017-01-03 07:06:17
Also in:
linux-wireless
When driver uses custom regulatory it registers initial channels at init but it can also react to regdom changes using reg_notifier. Is that correct?
We can treat regulatory and OF data as entirely independent, I think. At least that's my suggestion: * use OF data to populate the original channel list, saying which channels are valid (or not) * use regulatory later to further restrict settings of the channels
So I'm looking at brcmf_cfg80211_reg_notifier which calls brcmf_setup_wiphybands which calls brcmf_construct_chaninfo. That last one reworks all channels on every call. It first marks all existing channels as DISABLED then queries firmware for the list of supported channels and updates wiphy channels one by one. So if I understand this correctly, every regdom change can result in rebuilding channels pretty much from the scratch. That's why I believed I need to call wiphy_freq_limits_apply on runtime, not just during the init. Is there some flow in my understanding?
I think maybe there's a problem in my understanding :) All the regulatory code usually takes into account channel->orig_flags. If this code also did, then we could have the original DISABLED flag taken from OF still be valid here. johannes johannes