compat-wireless: Add warning if wext is deactivated
authorHauke Mehrtens <hauke@hauke-m.de>
Sun, 12 Sep 2010 21:11:37 +0000 (23:11 +0200)
committerLuis R. Rodriguez <lrodriguez@atheros.com>
Mon, 13 Sep 2010 18:26:50 +0000 (11:26 -0700)
Add a build warning if CONFIG_CFG80211_WEXT can not be activated.

wireless_handlers is only avaliable if the kernel was build with
CONFIG_WIRELESS_EXT. Add a kernel log warning if CONFIG_CFG80211_WEXT
is activated but we do not have CONFIG_WIRELESS_EXT, so we ware unable
to attach the wireless_handlers for wext.

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
v2: use printk_once

config.mk
patches/10-add-wext-handlers-to-netdev.patch

index b7ef1cecf31037ee0d625bc832e74d47eb6d9063..464a7696deca5da39655d5a0a2f2a24f42defbf3 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -196,6 +196,8 @@ endif #CONFIG_PCMCIA
 # autoconf.h
 ifdef CONFIG_WIRELESS_EXT
  CONFIG_CFG80211_WEXT=y
+else #CONFIG_CFG80211_WEXT
+$(warning "WARNING: CONFIG_CFG80211_WEXT will be deactivated or not working because kernel was compiled with CONFIG_WIRELESS_EXT=n. Tools using wext interface like iwconfig will not work. To activate it build your kernel e.g. with CONFIG_LIBIPW=m.")
 endif #CONFIG_WIRELESS_EXT
 
 ifneq ($(CONFIG_STAGING),)
index 8a5c6e5338ad4ea402d4a2116114f14f8c27b127..f0df25966a4795324a943111acd1da1d2f048e87 100644 (file)
@@ -29,12 +29,19 @@ CONFIG_WIRELESS_EXT in compat-wireless.
        device_initialize(&rdev->wiphy.dev);
        rdev->wiphy.dev.class = &ieee80211_class;
        rdev->wiphy.dev.platform_data = rdev;
-@@ -712,6 +708,8 @@ static int cfg80211_netdev_notifier_call
+@@ -712,6 +708,15 @@ static int cfg80211_netdev_notifier_call
                wdev->sme_state = CFG80211_SME_IDLE;
                mutex_unlock(&rdev->devlist_mtx);
  #ifdef CONFIG_CFG80211_WEXT
++#ifdef CONFIG_WIRELESS_EXT
 +              if (!dev->wireless_handlers)
 +                      dev->wireless_handlers = &cfg80211_wext_handler;
++#else
++              printk_once(KERN_WARNING "cfg80211: wext will not work because "
++                          "kernel was compiled with CONFIG_WIRELESS_EXT=n. "
++                          "Tools using wext interface, like iwconfig will "
++                          "not work.\n");
++#endif
                wdev->wext.default_key = -1;
                wdev->wext.default_mgmt_key = -1;
                wdev->wext.connect.auth_type = NL80211_AUTHTYPE_AUTOMATIC;