Re: [PATCH] cfg80211: Do not call CRDA when using internal regulatory database

Krishna Chaitanya
2014-01-17T22:11:08Z

On Sat, Jan 18, 2014 at 12:33 AM, Krishna Chaitanya
<chaitanya.mgit@gmail.com> wrote:
> On Sat, Jan 18, 2014 at 12:25 AM, Johannes Berg
> <johannes@sipsolutions.net> wrote:
>> On Fri, 2014-01-17 at 03:32 +0530, Chaitanya T K wrote:
>>> When using internal regulatory data base kconfig option
>>> do not try to call crda, this complely defeats the
>>> purposes of enabling internal regulatory db.
>>
>> In general I don't think you can just break user visible behaviour this
>> way.
> Well, users are habituated the wrong way :-). Any new user seeing the
> internal_regdb might just forget about CRDA and face problems, in case
> the DB is different in both.
>
> How should we go about it, then?
When user enabled internal_regdb target, if he forgets to copy the db.txt
we throw a warn_on and continue with WORLD regdom. So user has to copy
the db.txt and we will read rules from there.This all happens independent of
CRDA running/not in userspace. So i dont see any visible user impact
if at all someone decides to enabled internal_regdb even after seeing
all the warnings in place (kconfig, doc ..) :-).

One more bug in the below check:

if (call_crda(lr->alpha2))
return REG_REQ_IGNORE;

If call_crda fails (kobject_event return negative no) then also
we return REG_REQ_OK. It should be

if (call_crda(lr->alpha2) < 0)
return REG_REQ_IGNORE;