Message ID | 2303996.H1mYPouv05@wuerfel (mailing list archive) |
---|---|
State | Not Applicable |
Delegated to: | Johannes Berg |
Headers | show |
On Sat, 2015-04-11 at 00:29 +0200, Arnd Bergmann wrote: > The CFG80211_WEXT_EXPORT symbol is selected by two drivers that > make direct use of compat handlers for the wireless ioctls. > However, this has no effect when the wireless extensions themselves > are disabled, and results in a link error: > > ERROR: "cfg80211_wext_giwrts" [drivers/net/wireless/orinoco/orinoco.ko] undefined! > ERROR: "cfg80211_wext_siwfrag" [drivers/net/wireless/orinoco/orinoco.ko] undefined! > ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! > > This changes the Kconfig logic so that CFG80211_WEXT can not > be disabled when CFG80211_WEXT_EXPORT is set. > +++ b/net/wireless/Kconfig > @@ -178,7 +178,6 @@ config CFG80211_WEXT > bool "cfg80211 wireless extensions compatibility" (I added "if !CFG80211_WEXT_EXPORT" to this line) > depends on CFG80211 > select WEXT_CORE > - default y if CFG80211_WEXT_EXPORT > help > Enable this option if you need old userspace for wireless > extensions with cfg80211-based drivers. > @@ -186,6 +185,7 @@ config CFG80211_WEXT > config CFG80211_WEXT_EXPORT > bool > depends on CFG80211 > + select CFG80211_WEXT This doesn't work afaict because select won't go through if this is selected. I've already sent a fix for this in my latest pull request that has the above. johannes -- 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
On Sat, 2015-04-11 at 08:16 +0200, Johannes Berg wrote: > On Sat, 2015-04-11 at 00:29 +0200, Arnd Bergmann wrote: > > config CFG80211_WEXT_EXPORT > > bool > > depends on CFG80211 > > + select CFG80211_WEXT > > This doesn't work afaict because select won't go through if this is > selected. It does work: a select of a Kconfig symbol will trigger the select statements of that Kconfig symbol. Paul Bolle -- 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
On Saturday 11 April 2015 08:16:51 Johannes Berg wrote: > On Sat, 2015-04-11 at 00:29 +0200, Arnd Bergmann wrote: > > The CFG80211_WEXT_EXPORT symbol is selected by two drivers that > > make direct use of compat handlers for the wireless ioctls. > > However, this has no effect when the wireless extensions themselves > > are disabled, and results in a link error: > > > > ERROR: "cfg80211_wext_giwrts" [drivers/net/wireless/orinoco/orinoco.ko] undefined! > > ERROR: "cfg80211_wext_siwfrag" [drivers/net/wireless/orinoco/orinoco.ko] undefined! > > ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! > > > > This changes the Kconfig logic so that CFG80211_WEXT can not > > be disabled when CFG80211_WEXT_EXPORT is set. > > > +++ b/net/wireless/Kconfig > > @@ -178,7 +178,6 @@ config CFG80211_WEXT > > bool "cfg80211 wireless extensions compatibility" > > (I added "if !CFG80211_WEXT_EXPORT" to this line) Right, that works just as well, thanks! > > depends on CFG80211 > > select WEXT_CORE > > - default y if CFG80211_WEXT_EXPORT > > help > > Enable this option if you need old userspace for wireless > > extensions with cfg80211-based drivers. > > @@ -186,6 +185,7 @@ config CFG80211_WEXT > > config CFG80211_WEXT_EXPORT > > bool > > depends on CFG80211 > > + select CFG80211_WEXT > > This doesn't work afaict because select won't go through if this is > selected. I've already sent a fix for this in my latest pull request > that has the above. As Paul commented, it does work, and I have of course checked that my patch fixes the problem without introducing other build failures. Arnd -- 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
On Sat, 2015-04-11 at 22:41 +0200, Arnd Bergmann wrote: > As Paul commented, it does work, and I have of course checked that my > patch fixes the problem without introducing other build failures. :-) Ok, I learned something. I'm always careful with "select" because it has some corner cases. Anyway, my other patch is in net-next now, so it'll be fixed in a tree near you soon :) johannes -- 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
diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig index b13dfb4ff001..cb5eef396d5c 100644 --- a/net/wireless/Kconfig +++ b/net/wireless/Kconfig @@ -178,7 +178,6 @@ config CFG80211_WEXT bool "cfg80211 wireless extensions compatibility" depends on CFG80211 select WEXT_CORE - default y if CFG80211_WEXT_EXPORT help Enable this option if you need old userspace for wireless extensions with cfg80211-based drivers. @@ -186,6 +185,7 @@ config CFG80211_WEXT config CFG80211_WEXT_EXPORT bool depends on CFG80211 + select CFG80211_WEXT help Drivers should select this option if they require cfg80211's wext compatibility symbols to be exported.
The CFG80211_WEXT_EXPORT symbol is selected by two drivers that make direct use of compat handlers for the wireless ioctls. However, this has no effect when the wireless extensions themselves are disabled, and results in a link error: ERROR: "cfg80211_wext_giwrts" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_siwfrag" [drivers/net/wireless/orinoco/orinoco.ko] undefined! ERROR: "cfg80211_wext_giwname" [drivers/net/wireless/ipw2x00/ipw2200.ko] undefined! This changes the Kconfig logic so that CFG80211_WEXT can not be disabled when CFG80211_WEXT_EXPORT is set. Signed-off-by: Arnd Bergmann <arnd@arndb.de> Fixes: 2afe38d15cee01 ("cfg80211-wext: export symbols only when needed") -- 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