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