mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-11-03 14:34:27 -05:00 
			
		
		
		
	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@nbd.name>
This commit is contained in:
		
							parent
							
								
									823ddab80e
								
							
						
					
					
						commit
						b7a7a97037
					
				@ -0,0 +1,25 @@
 | 
			
		||||
From: Felix Fietkau <nbd@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@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;
 | 
			
		||||
 
 | 
			
		||||
 			/*
 | 
			
		||||
@ -80,7 +80,7 @@ Signed-off-by: Felix Fietkau <nbd@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;
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user