generic: 6.1: add patch to compile ieee8211 headers
authorChristian Marangi <ansuelsmth@gmail.com>
Thu, 20 Oct 2022 01:45:31 +0000 (03:45 +0200)
committerChristian Marangi <ansuelsmth@gmail.com>
Mon, 22 May 2023 20:28:15 +0000 (22:28 +0200)
With kernel 6.1 ieee2111_ptr is not compiled by default. Add pending
patch to restore this to make backports project compatible.

Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
target/linux/generic/config-6.1
target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch [new file with mode: 0644]

index f13af8ba268f2f2c23120dfeca367e59c9a6d76f..83ce378c05c922dbaa8cc72e503b00c5ed739230 100644 (file)
@@ -876,6 +876,7 @@ CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y
 # CONFIG_CEPH_FS is not set
 # CONFIG_CEPH_LIB is not set
 # CONFIG_CFG80211 is not set
+CONFIG_CFG80211_HEADERS=y
 # CONFIG_CFG80211_CERTIFICATION_ONUS is not set
 # CONFIG_CGROUPS is not set
 # CONFIG_CGROUP_MISC is not set
diff --git a/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch b/target/linux/generic/pending-6.1/731-net-permit-ieee80211_ptr-even-with-no-CFG82111-suppo.patch
new file mode 100644 (file)
index 0000000..b736ecc
--- /dev/null
@@ -0,0 +1,68 @@
+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(-)
+
+diff --git a/include/linux/netdevice.h b/include/linux/netdevice.h
+index eddf8ee270e7..1ac7390772de 100644
+--- a/include/linux/netdevice.h
++++ b/include/linux/netdevice.h
+@@ -2156,7 +2156,7 @@ struct net_device {
+ #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)
+diff --git a/net/batman-adv/hard-interface.c b/net/batman-adv/hard-interface.c
+index 41c1ad33d009..58a1c5999b44 100644
+--- a/net/batman-adv/hard-interface.c
++++ b/net/batman-adv/hard-interface.c
+@@ -308,7 +308,7 @@ static bool batadv_is_cfg80211_netdev(struct net_device *net_device)
+       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;
+diff --git a/net/wireless/Kconfig b/net/wireless/Kconfig
+index f620acd2a0f5..9f1aa9ec9fa3 100644
+--- 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
+-- 
+2.37.2
+