]> git.ipfire.org Git - thirdparty/openwrt.git/commitdiff
hostapd: fix setting up MLD AP interfaces after config change
authorFelix Fietkau <nbd@nbd.name>
Thu, 25 Sep 2025 10:07:48 +0000 (12:07 +0200)
committerFelix Fietkau <nbd@nbd.name>
Thu, 25 Sep 2025 10:08:52 +0000 (12:08 +0200)
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@nbd.name>
package/network/services/hostapd/files/hostapd.uc

index 671502720e0194decde7964344f06fcb42312e8d..2679fb1ee1368928bd570115484243c6d99c8b95 100644 (file)
@@ -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;