[openwrt/openwrt] wifi-scripts: fix MLO AP setup with disabled radios

LEDE Commits lede-commits at lists.infradead.org
Thu Nov 13 04:55:50 PST 2025


nbd pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/75791ea634beb422dae5bef6bfadc7a15e9993c6

commit 75791ea634beb422dae5bef6bfadc7a15e9993c6
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Nov 13 11:52:47 2025 +0000

    wifi-scripts: fix MLO AP setup with disabled radios
    
    When an MLO interface specifies multiple radios and the first radio
    is disabled, the MLO configuration was never created because the code
    only attempted to create it when processing the first device in the
    list (which gets skipped if disabled).
    
    Fix by creating the MLO config for the first enabled device instead
    of only when processing dev_names[0].
    
    Reported-by: Michael-cy Lee (李峻宇) <Michael-cy.Lee at mediatek.com>
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 package/network/config/wifi-scripts/files/lib/netifd/wireless.uc | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc b/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc
index 5be01aaa2a..5f64104c8b 100644
--- a/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc
+++ b/package/network/config/wifi-scripts/files/lib/netifd/wireless.uc
@@ -135,6 +135,7 @@ function config_init(uci)
 		radios = filter(radios, (v) => v != null);
 		let radio_config = map(dev_names, (v) => devices[v].config);
 		let ifname;
+		let mlo_created = false;
 
 		for (let dev_name in dev_names) {
 			let dev = devices[dev_name];
@@ -148,7 +149,7 @@ function config_init(uci)
 			let config = parse_attribute_list(data, handler.iface);
 			config.radios = radios;
 
-			if (mlo_vif && dev_name == dev_names[0]) {
+			if (mlo_vif && !mlo_created) {
 				let mlo_config = { ...config };
 
 				if (config.wds)
@@ -162,6 +163,7 @@ function config_init(uci)
 				}
 
 				mlo_vifs[ifname] = mlo_config;
+				mlo_created = true;
 			}
 
 			if (ifname)




More information about the lede-commits mailing list