Skip to contentSkip to conversation

cfg80211: Process all pending regulatory requests/hints

PATCH Applied Ilan Peer 2 participants 2 messages Mar 12, 2015 – Mar 17, 2015 802.11 (including cfg80211/NL80211)

lore
Share & tools
lore

Ilan Peer

author
#0 lore raw

PATCH 1/1 cfg80211: Process all pending regulatory requests/hints

From: Ben <[email protected]>

It is possible that there are several regulatory requests pending, but the processing of the last one does not call CRDA, and thus the other requests are not handled.

Fix this by rescheduling the work until all requests have been processed.

---
 net/wireless/reg.c | 7 +++++++
 1 file changed, 7 insertions(+)
net/wireless/reg.c +7 -0
index d867103..8c6cf52 100644
@@ -2159,6 +2159,13 @@ static void reg_process_pending_hints(void)
 	}
 
 	reg_process_hint(reg_request);
+
+	lr = get_last_request();
+
+	spin_lock(&reg_requests_lock);
+	if (!list_empty(&reg_requests_list) && lr && lr->processed)
+		schedule_work(&reg_work);
+	spin_unlock(&reg_requests_lock);
 }
 
 /* Processes beacon hints -- this has nothing to do with country IEs */
Signature · 1 line
1.8.3.2
maintainer Applied
#1 lore raw
Quoted 8 lines · Ilan Peer

From: Ben <[email protected]>

It is possible that there are several regulatory requests pending, but the processing of the last one does not call CRDA, and thus the other requests are not handled.

Fix this by rescheduling the work until all requests have been processed.

Applied.

johannes