diff options
author | Luis R. Rodriguez <lrodriguez@atheros.com> | 2010-01-29 19:58:56 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-02-01 15:40:05 -0500 |
commit | a2bff2694b02448e1d5873ac010582bc9898021c (patch) | |
tree | fb6b47583e6ef4f301097f5b4501e3b1eb511e06 /net/wireless/reg.c | |
parent | ef5127a4d256b9c0f47caae6cdc8ccfceedb09f9 (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.c | 4 |
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 | } |