[openwrt/openwrt] hostapd: fix setting up MLD AP interfaces after config change

LEDE Commits lede-commits at lists.infradead.org
Thu Sep 25 03:09:08 PDT 2025


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

commit adb1ce158ac80b69f86b55a86d42b3b5ead7bc5d
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Thu Sep 25 12:07:48 2025 +0200

    hostapd: fix setting up MLD AP interfaces after config change
    
    Removing the last remaining link from an MLD AP interface removes the
    interface as well. Re-create the interface if necessary on config changes.
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
---
 package/network/services/hostapd/files/hostapd.uc | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/package/network/services/hostapd/files/hostapd.uc b/package/network/services/hostapd/files/hostapd.uc
index 671502720e..2679fb1ee1 100644
--- a/package/network/services/hostapd/files/hostapd.uc
+++ b/package/network/services/hostapd/files/hostapd.uc
@@ -1,5 +1,5 @@
 let libubus = require("ubus");
-import { open, readfile } from "fs";
+import { open, readfile, access } from "fs";
 import { wdev_remove, is_equal, vlist_new, phy_is_fullmac, phy_open, wdev_set_radio_mask, wdev_set_up } from "common";
 
 let ubus = libubus.connect(null, 60);
@@ -777,6 +777,10 @@ function bss_check_mld(phydev, iface_name, bss)
 
 	bss.mld_bssid = mld_data.macaddr;
 	mld_data.iface[iface_name] = true;
+
+	if (!access('/sys/class/net/' + iface_name, 'x'))
+		mld_data.has_wdev = false;
+
 	if (mld_data.has_wdev)
 		return true;
 




More information about the lede-commits mailing list