regulatory: add missing rtnl locking
authorJohannes Berg <johannes.berg@intel.com>
Mon, 24 Jun 2013 13:43:38 +0000 (15:43 +0200)
committerJohannes Berg <johannes.berg@intel.com>
Tue, 16 Jul 2013 06:55:55 +0000 (09:55 +0300)
restore_regulatory_settings() requires the RTNL to be held,
add the missing locking in reg_timeout_work().

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
net/wireless/reg.c

index 5a24c986f34be27e61613f0deb421a35efc61533..5a950f36bae4759c6d799c47204f7b85ab985e12 100644 (file)
@@ -2279,7 +2279,9 @@ void wiphy_regulatory_deregister(struct wiphy *wiphy)
 static void reg_timeout_work(struct work_struct *work)
 {
        REG_DBG_PRINT("Timeout while waiting for CRDA to reply, restoring regulatory settings\n");
+       rtnl_lock();
        restore_regulatory_settings(true);
+       rtnl_unlock();
 }
 
 int __init regulatory_init(void)