Message ID | 1254126117.6583.19.camel@johannes.local (mailing list archive) |
---|---|
State | Not Applicable, archived |
Headers | show |
On Mon, 2009-09-28 at 10:21 +0200, Johannes Berg wrote: > The point we assign dev->wireless_handlers at is too > late, we need to do that before netdev_register_kobject() > gets called, so use the new NETDEV_PRE_INIT notifier. > The result of adding wireless_handlers too late is the > disappearance of /sys/class/net/wlan0/wireless which a > bunch of distro scripts still require. Ignore please, I have a better, self-contained fix. johannes
--- wireless-testing.orig/net/wireless/core.c 2009-09-28 09:54:52.000000000 +0200 +++ wireless-testing/net/wireless/core.c 2009-09-28 10:18:47.000000000 +0200 @@ -641,6 +641,12 @@ static int cfg80211_netdev_notifier_call WARN_ON(wdev->iftype == NL80211_IFTYPE_UNSPECIFIED); switch (state) { + case NETDEV_POST_INIT: +#ifdef CONFIG_WIRELESS_EXT + if (!dev->wireless_handlers) + dev->wireless_handlers = &cfg80211_wext_handler; +#endif + break; case NETDEV_REGISTER: /* * NB: cannot take rdev->mtx here because this may be @@ -666,8 +672,6 @@ static int cfg80211_netdev_notifier_call wdev->sme_state = CFG80211_SME_IDLE; mutex_unlock(&rdev->devlist_mtx); #ifdef CONFIG_WIRELESS_EXT - if (!dev->wireless_handlers) - dev->wireless_handlers = &cfg80211_wext_handler; wdev->wext.default_key = -1; wdev->wext.default_mgmt_key = -1; wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;
The point we assign dev->wireless_handlers at is too late, we need to do that before netdev_register_kobject() gets called, so use the new NETDEV_PRE_INIT notifier. The result of adding wireless_handlers too late is the disappearance of /sys/class/net/wlan0/wireless which a bunch of distro scripts still require. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> --- net/wireless/core.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html