aboutsummaryrefslogtreecommitdiffstats
path: root/net/wireless/reg.c
diff options
context:
space:
mode:
authorLuis R. Rodriguez <lrodriguez@atheros.com>2010-01-29 19:58:56 -0500
committerJohn W. Linville <linville@tuxdriver.com>2010-02-01 15:40:05 -0500
commita2bff2694b02448e1d5873ac010582bc9898021c (patch)
treefb6b47583e6ef4f301097f5b4501e3b1eb511e06 /net/wireless/reg.c
parentef5127a4d256b9c0f47caae6cdc8ccfceedb09f9 (diff)
cfg80211: avoid flushing the global workqueue for core reg hints
When cfg80211 starts it will send a core regulatory hint. This is sent to the global workqueue but we force processing of it by flushing the global workqueue. The flushing was done since cfg80211 needs last_request to always be populated. Avoid flushing the global workqueue by processing the work required immediately instead of putting it into a linked list and processing it after the flush. Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/reg.c')
-rw-r--r--net/wireless/reg.c4
1 files changed, 1 insertions, 3 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c
index 5f8071de7950..5dcda28b6f04 100644
--- a/net/wireless/reg.c
+++ b/net/wireless/reg.c
@@ -1920,14 +1920,12 @@ static int regulatory_hint_core(const char *alpha2)
1920 request->alpha2[1] = alpha2[1]; 1920 request->alpha2[1] = alpha2[1];
1921 request->initiator = NL80211_REGDOM_SET_BY_CORE; 1921 request->initiator = NL80211_REGDOM_SET_BY_CORE;
1922 1922
1923 queue_regulatory_request(request);
1924
1925 /* 1923 /*
1926 * This ensures last_request is populated once modules 1924 * This ensures last_request is populated once modules
1927 * come swinging in and calling regulatory hints and 1925 * come swinging in and calling regulatory hints and
1928 * wiphy_apply_custom_regulatory(). 1926 * wiphy_apply_custom_regulatory().
1929 */ 1927 */
1930 flush_scheduled_work(); 1928 reg_process_hint(request);
1931 1929
1932 return 0; 1930 return 0;
1933} 1931}