On Mon, 2009-02-16 at 00:14 -0800, Luis R. Rodriguez wrote: > On Sun, Feb 15, 2009 at 2:59 AM, Johannes Berg > <johannes@xxxxxxxxxxxxxxxx> wrote: > > On Fri, 2009-02-13 at 21:33 -0800, Luis R. Rodriguez wrote: > >> This will allow us to clean up and make distinctions of who > >> needs locking or not. > >> > >> Signed-off-by: Luis R. Rodriguez <lrodriguez@xxxxxxxxxxx> > >> --- > >> net/wireless/reg.c | 36 +++++++++++++++++++++++++++--------- > >> 1 files changed, 27 insertions(+), 9 deletions(-) > >> > >> diff --git a/net/wireless/reg.c b/net/wireless/reg.c > >> index ba82312..679fded 100644 > >> --- a/net/wireless/reg.c > >> +++ b/net/wireless/reg.c > >> @@ -1050,11 +1050,7 @@ static int ignore_request(struct wiphy *wiphy, enum reg_set_by set_by, > >> case REGDOM_SET_BY_INIT: > >> return -EINVAL; > >> case REGDOM_SET_BY_CORE: > >> - /* > >> - * Always respect new wireless core hints, should only happen > >> - * when updating the world regulatory domain at init. > >> - */ > >> - return 0; > >> + return -EINVAL; > >> case REGDOM_SET_BY_COUNTRY_IE: > >> if (unlikely(!is_an_alpha2(alpha2))) > >> return -EINVAL; > >> @@ -1183,6 +1179,26 @@ new_request: > >> return call_crda(alpha2); > >> } > >> > >> +static int regulatory_hint_core(const char *alpha2) > >> +{ > >> + struct regulatory_request *request; > >> + > >> + BUG_ON(last_request); > >> + > >> + request = kzalloc(sizeof(struct regulatory_request), > >> + GFP_KERNEL); > >> + if (!request) > >> + return -ENOMEM; > >> + > >> + request->alpha2[0] = alpha2[0]; > >> + request->alpha2[1] = alpha2[1]; > >> + request->initiator = REGDOM_SET_BY_CORE; > >> + > >> + last_request = request; > > > > So before you documented that cfg80211_mutex is used to protect this > > variable, but it's not used here. > > This is only used during initialization, have any better ideas? If regulatory is initialised before netlink that is probably fine, is it? johannes
Attachment:
signature.asc
Description: This is a digitally signed message part