diff options
Diffstat (limited to 'net/wireless/reg.c')
| -rw-r--r-- | net/wireless/reg.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/net/wireless/reg.c b/net/wireless/reg.c index 5a24c986f34b..de06d5d1287f 100644 --- a/net/wireless/reg.c +++ b/net/wireless/reg.c | |||
| @@ -2247,10 +2247,13 @@ int reg_device_uevent(struct device *dev, struct kobj_uevent_env *env) | |||
| 2247 | 2247 | ||
| 2248 | void wiphy_regulatory_register(struct wiphy *wiphy) | 2248 | void wiphy_regulatory_register(struct wiphy *wiphy) |
| 2249 | { | 2249 | { |
| 2250 | struct regulatory_request *lr; | ||
| 2251 | |||
| 2250 | if (!reg_dev_ignore_cell_hint(wiphy)) | 2252 | if (!reg_dev_ignore_cell_hint(wiphy)) |
| 2251 | reg_num_devs_support_basehint++; | 2253 | reg_num_devs_support_basehint++; |
| 2252 | 2254 | ||
| 2253 | wiphy_update_regulatory(wiphy, NL80211_REGDOM_SET_BY_CORE); | 2255 | lr = get_last_request(); |
| 2256 | wiphy_update_regulatory(wiphy, lr->initiator); | ||
| 2254 | } | 2257 | } |
| 2255 | 2258 | ||
| 2256 | void wiphy_regulatory_deregister(struct wiphy *wiphy) | 2259 | void wiphy_regulatory_deregister(struct wiphy *wiphy) |
| @@ -2279,7 +2282,9 @@ void wiphy_regulatory_deregister(struct wiphy *wiphy) | |||
| 2279 | static void reg_timeout_work(struct work_struct *work) | 2282 | static void reg_timeout_work(struct work_struct *work) |
| 2280 | { | 2283 | { |
| 2281 | REG_DBG_PRINT("Timeout while waiting for CRDA to reply, restoring regulatory settings\n"); | 2284 | REG_DBG_PRINT("Timeout while waiting for CRDA to reply, restoring regulatory settings\n"); |
| 2285 | rtnl_lock(); | ||
| 2282 | restore_regulatory_settings(true); | 2286 | restore_regulatory_settings(true); |
| 2287 | rtnl_unlock(); | ||
| 2283 | } | 2288 | } |
| 2284 | 2289 | ||
| 2285 | int __init regulatory_init(void) | 2290 | int __init regulatory_init(void) |
