On Tue, Nov 30, 2021 at 05:50:58PM +0100, Finn Behrens wrote: > > On 30. Nov 2021, at 17:02, Nathan Chancellor <nathan@xxxxxxxxxx> wrote: > > On Sat, Nov 27, 2021 at 11:28:53AM +0100, Finn Behrens wrote: > >> this reloads the regdom when the regulatory db is reloaded. > >> Without this patch the user had to change the regulatoy domain to a > >> different, and then reset it to the one the user is in, to have the new > >> regulatory db take effect > >> > >> Signed-off-by: Finn Behrens <fin@xxxxxxxxxxx> > > > > This patch as commit 1eda919126b4 ("nl80211: reset regdom when reloading > > regdb") in -next causes the following clang warning/error: > > > > net/wireless/reg.c:1137:23: error: implicit conversion from enumeration type 'enum nl80211_user_reg_hint_type' to different enumeration type 'enum nl80211_reg_initiator' [-Werror,-Wenum-conversion] > > request->initiator = NL80211_USER_REG_HINT_USER; > > ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~ > > 1 error generated. > > > > Should that be NL80211_REGDOM_SET_BY_CORE (same value, 0) or something > > different? > > I think It should have been NL80211_REGDOM_SET_BY_USER, as the reload > flag check is currently implemented in the user hint function. But If > I see it correctly right now. We could remove the reload flag, and > NL80211_REGDOM_SET_BY_CORE should work as well. As the > reg_query_database function is called unconditionally there. If you tested the current version of your patch and it worked fine, then it seems like you should just revert the addition of the reload flag and change request->initiator = NL80211_USER_REG_HINT_USER; to request->initiator = NL80211_REGDOM_SET_BY_CORE; given that is what is happening right now. The warning is basically pointing out that reg_process_hint() is calling reg_process_hint_core() instead of reg_process_hint_user() because NL80211_USER_REG_HINT_USER = NL80211_REGDOM_SET_BY_CORE = 0. Hopefully that makes sense. Cheers, Nathan