Commit 2e54a689 authored by Ben's avatar Ben Committed by Johannes Berg

cfg80211: Process all pending regulatory requests/hints

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.
Signed-off-by: default avatarBen Rosenfeld <ben.rosenfeld@intel.com>
Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent c23e31cf
...@@ -2159,6 +2159,13 @@ static void reg_process_pending_hints(void) ...@@ -2159,6 +2159,13 @@ static void reg_process_pending_hints(void)
} }
reg_process_hint(reg_request); 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 */ /* Processes beacon hints -- this has nothing to do with country IEs */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment