The patch "wext: refactor" by Johannes Berg refactored
wext code so that new kernels no longer get the wext
handlers through struct netdevice, instead they get
it through the struct wiphy which is cfg80211 specific.

For old kernels this means you get not wext handlers
anymore when backporting code, this adds the wext handler
back to the netdevice wireless_handlers to let compat
users use wext again.

We do this for every kernel version because the struct wiphy
is changing from kernel version to version. At least the
struct from kernel 2.6.33 and 2.6.34 are incompatible and
the kernel would dereference some wrong type in the struct
and oops. The old interface is not affected by this. This
will cause that CONFIG_CFG80211_WEXT still depends on
CONFIG_WIRELESS_EXT in compat-wireless.

--- a/net/wireless/core.c
+++ b/net/wireless/core.c
@@ -385,10 +385,6 @@ struct wiphy *wiphy_new(const struct cfg
 	INIT_LIST_HEAD(&rdev->bss_list);
 	INIT_WORK(&rdev->scan_done_wk, __cfg80211_scan_done);
 	INIT_WORK(&rdev->sched_scan_results_wk, __cfg80211_sched_scan_results);
-#ifdef CONFIG_CFG80211_WEXT
-	rdev->wiphy.wext = &cfg80211_wext_handler;
-#endif
-
 	device_initialize(&rdev->wiphy.dev);
 	rdev->wiphy.dev.class = &ieee80211_class;
 	rdev->wiphy.dev.platform_data = rdev;
@@ -841,6 +837,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;
