]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
hostapd: avoid spurious interface reload on empty MLD config
authorFelix Fietkau <nbd@nbd.name>
Mon, 4 May 2026 07:49:37 +0000 (07:49 +0000)
committerFelix Fietkau <nbd@nbd.name>
Mon, 4 May 2026 14:29:36 +0000 (16:29 +0200)
mld_set_config() treated any call with empty prev_mld as a fresh
configuration and triggered a full Reload all interfaces, even when the
new config was also empty (the typical path on non-MLD devices).
Reloading every BSS on each netifd reconf disrupted associated stations
including PMF-protected backhaul STAs, which would self-deauth after the
SA Query timeout.

Only treat the call as a new configuration when the new config is
actually non-empty.

Signed-off-by: Felix Fietkau <nbd@nbd.name>
package/network/services/hostapd/files/hostapd.uc

index 6558b55b0a918b4e1867272112936bc8af01aea7..d7d0ff8ff28e44a6ff163f8c234e8f1842645880 100644 (file)
@@ -1070,7 +1070,7 @@ function mld_set_config(config)
        let prev_mld = { ...hostapd.data.mld };
        let new_mld = {};
        let phy_list = {};
-       let new_config = !length(prev_mld);
+       let new_config = !length(prev_mld) && length(new_mld);
 
        hostapd.printf(`Set MLD config: ${keys(config)}`);