2022-10-20 01:45:31 +00:00
|
|
|
From 686c603f67ae87bf21a61b5e4b1564443f41c3ee Mon Sep 17 00:00:00 2001
|
|
|
|
From: Christian Marangi <ansuelsmth@gmail.com>
|
|
|
|
Date: Thu, 20 Oct 2022 03:34:43 +0200
|
|
|
|
Subject: [PATCH] net: permit ieee80211_ptr even with no CFG82111 support
|
|
|
|
|
|
|
|
Introduce a new flag CONFIG_CFG80211_HEADERS to compile in ieee80211_ptr
|
|
|
|
even if CFG80211 support is not compiled in. This is needed for the
|
|
|
|
backports project and for any downstream wireless driver that loads in
|
|
|
|
the kernel dynamically.
|
|
|
|
|
|
|
|
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
|
|
|
|
---
|
|
|
|
include/linux/netdevice.h | 2 +-
|
|
|
|
net/batman-adv/hard-interface.c | 2 +-
|
|
|
|
net/wireless/Kconfig | 4 ++++
|
|
|
|
3 files changed, 6 insertions(+), 2 deletions(-)
|
|
|
|
|
|
|
|
--- a/include/linux/netdevice.h
|
|
|
|
+++ b/include/linux/netdevice.h
|
2023-06-14 21:09:36 +00:00
|
|
|
@@ -2170,7 +2170,7 @@ struct net_device {
|
2022-10-20 01:45:31 +00:00
|
|
|
#if IS_ENABLED(CONFIG_AX25)
|
|
|
|
void *ax25_ptr;
|
|
|
|
#endif
|
|
|
|
-#if IS_ENABLED(CONFIG_CFG80211)
|
|
|
|
+#if IS_ENABLED(CONFIG_CFG80211_HEADERS)
|
|
|
|
struct wireless_dev *ieee80211_ptr;
|
|
|
|
#endif
|
|
|
|
#if IS_ENABLED(CONFIG_IEEE802154) || IS_ENABLED(CONFIG_6LOWPAN)
|
|
|
|
--- a/net/batman-adv/hard-interface.c
|
|
|
|
+++ b/net/batman-adv/hard-interface.c
|
2023-05-22 16:07:49 +00:00
|
|
|
@@ -308,7 +308,7 @@ static bool batadv_is_cfg80211_netdev(st
|
2022-10-20 01:45:31 +00:00
|
|
|
if (!net_device)
|
|
|
|
return false;
|
|
|
|
|
|
|
|
-#if IS_ENABLED(CONFIG_CFG80211)
|
|
|
|
+#if IS_ENABLED(CONFIG_CFG80211_HEADERS)
|
|
|
|
/* cfg80211 drivers have to set ieee80211_ptr */
|
|
|
|
if (net_device->ieee80211_ptr)
|
|
|
|
return true;
|
|
|
|
--- a/net/wireless/Kconfig
|
|
|
|
+++ b/net/wireless/Kconfig
|
|
|
|
@@ -26,6 +26,7 @@ config CFG80211
|
|
|
|
# using a different algorithm, though right now they shouldn't
|
|
|
|
# (this is here rather than below to allow it to be a module)
|
|
|
|
select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
|
|
|
|
+ select CFG80211_HEADERS
|
|
|
|
help
|
|
|
|
cfg80211 is the Linux wireless LAN (802.11) configuration API.
|
|
|
|
Enable this if you have a wireless device.
|
|
|
|
@@ -36,6 +37,9 @@ config CFG80211
|
|
|
|
|
|
|
|
When built as a module it will be called cfg80211.
|
|
|
|
|
|
|
|
+config CFG80211_HEADERS
|
|
|
|
+ bool "cfg80211 - headers support"
|
|
|
|
+
|
|
|
|
if CFG80211
|
|
|
|
|
|
|
|
config NL80211_TESTMODE
|