Просмотр исходного кода

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 <[email protected]>
Felix Fietkau 3 лет назад
Родитель
Сommit
b7a7a97037

+ 25 - 0
package/kernel/mac80211/patches/subsys/308-wifi-mac80211-fix-MLO-AP_VLAN-check.patch

@@ -0,0 +1,25 @@
+From: Felix Fietkau <[email protected]>
+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 <[email protected]>
+---
+
+--- 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;
+ 
+ 			/*

+ 1 - 1
package/kernel/mac80211/patches/subsys/310-mac80211-add-support-for-restricting-netdev-features.patch

@@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <[email protected]>
  
 --- 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;