interface: fix reload for devices that point to vlan aliases
authorFelix Fietkau <[email protected]>
Tue, 30 Sep 2025 09:01:04 +0000 (11:01 +0200)
committerFelix Fietkau <[email protected]>
Tue, 30 Sep 2025 09:01:06 +0000 (11:01 +0200)
When aliases are derived from bridge-vlan section, the device lookup needs
to be repeated on reload.

Signed-off-by: Felix Fietkau <[email protected]>
interface.c

index 44052e3fbbb2df192ee89aa1a90be71cdbada639..c8771bf1a4e6179116dfff05ce927c7d051ac56d 100644 (file)
@@ -1372,6 +1372,13 @@ interface_change_config(struct interface *if_old, struct interface *if_new)
 
 #undef UPDATE
 
+       if (!reload) {
+               struct device *old_dev = if_old->main_dev.dev;
+
+               interface_claim_device(if_old);
+               reload = if_old->main_dev.dev != old_dev;
+       }
+
        if (reload) {
                D(INTERFACE, "Reload interface '%s' because of config changes",
                  if_old->name);