[openwrt/openwrt] mac80211: fix connecting multiple wds stations to an AP

LEDE Commits lede-commits at lists.infradead.org
Wed Dec 14 05:02:45 PST 2022


nbd pushed a commit to openwrt/openwrt.git, branch master:
https://git.openwrt.org/b7a7a97037c4c7490ae3782d2d3be31c010a2fa2

commit b7a7a97037c4c7490ae3782d2d3be31c010a2fa2
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Wed Dec 14 13:53:40 2022 +0100

    mac80211: fix connecting multiple wds stations to an AP
    
    A faulty check prevented the AP_VLAN interfaces from being brought up
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 .../308-wifi-mac80211-fix-MLO-AP_VLAN-check.patch  | 25 ++++++++++++++++++++++
 ...d-support-for-restricting-netdev-features.patch |  2 +-
 2 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/package/kernel/mac80211/patches/subsys/308-wifi-mac80211-fix-MLO-AP_VLAN-check.patch b/package/kernel/mac80211/patches/subsys/308-wifi-mac80211-fix-MLO-AP_VLAN-check.patch
new file mode 100644
index 0000000000..2d181e3a68
--- /dev/null
+++ b/package/kernel/mac80211/patches/subsys/308-wifi-mac80211-fix-MLO-AP_VLAN-check.patch
@@ -0,0 +1,25 @@
+From: Felix Fietkau <nbd at nbd.name>
+Date: Wed, 14 Dec 2022 13:46:38 +0100
+Subject: [PATCH] wifi: mac80211: fix MLO + AP_VLAN check
+
+Instead of preventing adding AP_VLAN to MLO enabled APs, this check was
+preventing adding more than one 4-addr AP_VLAN regardless of the MLO status.
+Fix this by adding missing extra checks.
+
+Fixes: ae960ee90bb1 ("wifi: mac80211: prevent VLANs on MLDs")
+Signed-off-by: Felix Fietkau <nbd at nbd.name>
+---
+
+--- a/net/mac80211/iface.c
++++ b/net/mac80211/iface.c
+@@ -364,7 +364,9 @@ static int ieee80211_check_concurrent_if
+ 
+ 			/* No support for VLAN with MLO yet */
+ 			if (iftype == NL80211_IFTYPE_AP_VLAN &&
+-			    nsdata->wdev.use_4addr)
++			    sdata->wdev.use_4addr &&
++			    nsdata->vif.type == NL80211_IFTYPE_AP &&
++			    nsdata->vif.valid_links)
+ 				return -EOPNOTSUPP;
+ 
+ 			/*
diff --git a/package/kernel/mac80211/patches/subsys/310-mac80211-add-support-for-restricting-netdev-features.patch b/package/kernel/mac80211/patches/subsys/310-mac80211-add-support-for-restricting-netdev-features.patch
index cd6048b4fd..3d286d080d 100644
--- a/package/kernel/mac80211/patches/subsys/310-mac80211-add-support-for-restricting-netdev-features.patch
+++ b/package/kernel/mac80211/patches/subsys/310-mac80211-add-support-for-restricting-netdev-features.patch
@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd at nbd.name>
  
 --- a/net/mac80211/iface.c
 +++ b/net/mac80211/iface.c
-@@ -2179,6 +2179,7 @@ int ieee80211_if_add(struct ieee80211_lo
+@@ -2181,6 +2181,7 @@ int ieee80211_if_add(struct ieee80211_lo
  		ndev->priv_flags |= IFF_LIVE_ADDR_CHANGE;
  		ndev->hw_features |= ndev->features &
  					MAC80211_SUPPORTED_FEATURES_TX;




More information about the lede-commits mailing list