[OpenWrt-Devel] [PATCH 2/3] mac80211: Allow ADHOC mode and different beacon intervals
Hauke Mehrtens
hauke at hauke-m.de
Sat Nov 9 11:06:05 EST 2019
ath10k-ct supports the combination to select ADHOC (IBSS) mode and
different beacon intervals together. mac80211 does not like this
combination, but Ben says this is ok, so remove this check.
Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
As an alternative we can also remove the beacon_int_min_gcd setting from ath10k-ct.
...ckports-pci-Include-linux-pci-aspm.h.patch | 6 ++--
..._disable_link_state-wrapper-with-ret.patch | 2 +-
.../patches/subsys/400-allow-ibss-mixed.patch | 29 +++++++++++++++++++
3 files changed, 33 insertions(+), 4 deletions(-)
create mode 100644 package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch
diff --git a/package/kernel/mac80211/patches/build/100-backports-pci-Include-linux-pci-aspm.h.patch b/package/kernel/mac80211/patches/build/100-backports-pci-Include-linux-pci-aspm.h.patch
index 5faeb96748..91740a62b9 100644
--- a/package/kernel/mac80211/patches/build/100-backports-pci-Include-linux-pci-aspm.h.patch
+++ b/package/kernel/mac80211/patches/build/100-backports-pci-Include-linux-pci-aspm.h.patch
@@ -11,9 +11,9 @@ Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
--- a/backport-include/linux/pci.h
+++ b/backport-include/linux/pci.h
-@@ -3,6 +3,10 @@
- #include_next <linux/pci.h>
- #include <linux/version.h>
+@@ -7,6 +7,10 @@
+ #include <linux/pci-aspm.h>
+ #endif
+#if LINUX_VERSION_IS_LESS(5,4,0)
+#include <linux/pci-aspm.h>
diff --git a/package/kernel/mac80211/patches/build/101-backport-add-pci_disable_link_state-wrapper-with-ret.patch b/package/kernel/mac80211/patches/build/101-backport-add-pci_disable_link_state-wrapper-with-ret.patch
index a41879184b..7691522e73 100644
--- a/package/kernel/mac80211/patches/build/101-backport-add-pci_disable_link_state-wrapper-with-ret.patch
+++ b/package/kernel/mac80211/patches/build/101-backport-add-pci_disable_link_state-wrapper-with-ret.patch
@@ -11,7 +11,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
--- a/backport-include/linux/pci.h
+++ b/backport-include/linux/pci.h
-@@ -236,4 +236,29 @@ static inline struct pci_dev *pcie_find_
+@@ -240,4 +240,29 @@ static inline struct pci_dev *pcie_find_
(PCI_IRQ_LEGACY | PCI_IRQ_MSI | PCI_IRQ_MSIX)
#endif
diff --git a/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch b/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch
new file mode 100644
index 0000000000..52200b6ecc
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/400-allow-ibss-mixed.patch
@@ -0,0 +1,29 @@
+ath10k-ct starting with version 5.2 allows the combination of
+NL80211_IFTYPE_ADHOC and beacon_int_min_gcd in ath10k_10x_ct_if_comb
+which triggers this warning. Ben told me that this is not a big problem
+and we should ignore this.
+
+--- a/net/wireless/core.c
++++ b/net/wireless/core.c
+@@ -613,21 +613,6 @@ static int wiphy_verify_combinations(str
+ c->limits[j].max > 1))
+ return -EINVAL;
+
+- /*
+- * This isn't well-defined right now. If you have an
+- * IBSS interface, then its beacon interval may change
+- * by joining other networks, and nothing prevents it
+- * from doing that.
+- * So technically we probably shouldn't even allow AP
+- * and IBSS in the same interface, but it seems that
+- * some drivers support that, possibly only with fixed
+- * beacon intervals for IBSS.
+- */
+- if (WARN_ON(types & BIT(NL80211_IFTYPE_ADHOC) &&
+- c->beacon_int_min_gcd)) {
+- return -EINVAL;
+- }
+-
+ cnt += c->limits[j].max;
+ /*
+ * Don't advertise an unsupported type
--
2.20.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list