Search Linux Wireless

RE: [RFC] cfg80211: set regulatory request processed for initiator core

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Luis,

I am using 3.13rc2 kernel; last commit on this branch is "ad17d104284ea4a301126b475df3bef03258142a".

If we set regulatory domain via "iw reg set US" we see following in dmesg logs:
cfg80211: Pending regulatory request, waiting for it to be processed...
Udevm monitor (via udevadm monitor --environment kernel) also does not print any CRDA domain change messages.

I have pasted dmesg logs at following location:
http://pastebin.com/kkNagpSu

If we apply below mentioned patch, last request is set to processed enabling cfg80211 to send further requests.

Thanks,
Avinash Patil


________________________________________
From: mcgrof@xxxxxxxxx [mcgrof@xxxxxxxxx] On Behalf Of Luis R. Rodriguez [mcgrof@xxxxxxxxxxxxxxxx]
Sent: Wednesday, December 11, 2013 11:31 PM
To: Avinash Patil
Cc: Johannes Berg; linux-wireless
Subject: Re: [RFC] cfg80211: set regulatory request processed for initiator core

On Wed, Dec 11, 2013 at 6:38 PM, Luis R. Rodriguez
<mcgrof@xxxxxxxxxxxxxxxx> wrote:
> On Sat, Dec 7, 2013 at 4:54 AM, Avinash Patil <patila@xxxxxxxxxxx> wrote:
>> During cfg80211 init, cfg80211 initializes regulatory to set to
>> world domain. Here we dont set last request processed flag.
>> This results into further request set to pending indefinitely.
>>
>> This patch fixes this by setting last request to processed.
>>
>> Signed-off-by: Avinash Patil <patila@xxxxxxxxxxx>
>> ---
>>  net/wireless/reg.c |    2 ++
>>  1 files changed, 2 insertions(+), 0 deletions(-)
>>
>> diff --git a/net/wireless/reg.c b/net/wireless/reg.c
>> index ec54e1a..70a8f0a 100644
>> --- a/net/wireless/reg.c
>> +++ b/net/wireless/reg.c
>> @@ -1670,6 +1670,8 @@ static void reg_process_hint(struct regulatory_request *reg_request)
>>         switch (reg_request->initiator) {
>>         case NL80211_REGDOM_SET_BY_CORE:
>>                 reg_process_hint_core(reg_request);
>> +               nl80211_send_reg_change_event(reg_request);
>> +               reg_set_request_processed();
>>                 return;
>>         case NL80211_REGDOM_SET_BY_USER:
>>                 treatment = reg_process_hint_user(reg_request);
>
> NACK, the reg_process_hint() is supposed to *process* a request, and
> then call the internal regdb if its there and also call CRDA. Later
> whoever sends the regulatory domain and gets cfg80211 to process it
> will have reg_set_request_processed() called.
>
> Can you verify if CRDA is sending the regulatory domains to cfg80211?

Also are you seeing this with wireless-testing ?

  Luis--
To unsubscribe from this list: send the line "unsubscribe linux-wireless" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux