diff options
author | Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com> | 2014-08-13 16:04:51 +0300 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-08-25 16:17:41 -0400 |
commit | a796dac9a6bedff6db99f57828c85c97071d3d1e (patch) | |
tree | 1cd9e5371031ca8196ffa203275b0c9f4c1a88c3 /net/wireless | |
parent | f0bd88dfd7e5d53bce84a9d077c949774f27a25a (diff) |
wireless: core: Reorder wiphy_register() notifications relevantly
Currently it can send regulatory domain change notification before any
NEW_WIPHY notification. Moreover, if rfill_register() fails, calling
wiphy_unregister() will send a DEL_WIPHY though no NEW_WIPHY had been
sent previously.
Thus reordering so it properly notifies NEW_WIPHY before any other.
Signed-off-by: Tomasz Bursztyka <tomasz.bursztyka@linux.intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless')
-rw-r--r-- | net/wireless/core.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/wireless/core.c b/net/wireless/core.c index afee5e0455ea..682babde4aa5 100644 --- a/net/wireless/core.c +++ b/net/wireless/core.c @@ -635,6 +635,9 @@ int wiphy_register(struct wiphy *wiphy) if (IS_ERR(rdev->wiphy.debugfsdir)) rdev->wiphy.debugfsdir = NULL; + cfg80211_debugfs_rdev_add(rdev); + nl80211_notify_wiphy(rdev, NL80211_CMD_NEW_WIPHY); + if (wiphy->regulatory_flags & REGULATORY_CUSTOM_REG) { struct regulatory_request request; @@ -646,8 +649,6 @@ int wiphy_register(struct wiphy *wiphy) nl80211_send_reg_change_event(&request); } - cfg80211_debugfs_rdev_add(rdev); - rdev->wiphy.registered = true; rtnl_unlock(); @@ -659,8 +660,6 @@ int wiphy_register(struct wiphy *wiphy) return res; } - nl80211_notify_wiphy(rdev, NL80211_CMD_NEW_WIPHY); - return 0; } EXPORT_SYMBOL(wiphy_register); |