From c1cc5093ab054f5d2c4942d3f5b0bf7b106ce975 Mon Sep 17 00:00:00 2001 From: "Luis R. Rodriguez" Date: Wed, 13 May 2009 17:04:42 -0400 Subject: [PATCH] cfg80211: fix race between core hint and driver's custom apply commit 5078b2e32ad4b1f753b1c837c15892202f753c97 upstream. Its possible for cfg80211 to have scheduled the work and for the global workqueue to not have kicked in prior to a cfg80211 driver's regulatory hint or wiphy_apply_custom_regulatory(). Although this is very unlikely its possible and should fix this race. When this race would happen you are expected to have hit a null pointer dereference panic. Signed-off-by: Luis R. Rodriguez Tested-by: Alan Jenkins Signed-off-by: John W. Linville Signed-off-by: Greg Kroah-Hartman --- net/wireless/reg.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 4f9ff2a6a297a..66cebb5f9ff2c 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c @@ -1497,6 +1497,13 @@ int regulatory_init(void) "using static definition\n"); #endif + /* + * This ensures last_request is populated once modules + * come swinging in and calling regulatory hints and + * wiphy_apply_custom_regulatory(). + */ + flush_scheduled_work(); + return 0; } -- 2.47.2