hostapd: avoid spurious interface reload on empty MLD config

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>
This commit is contained in:
Felix Fietkau 2026-05-04 07:49:37 +00:00
parent 572fb14e7e
commit 94fc66cce9

View 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)}`);