scripts: make config_add_* parameters take multiple arguments
[project/netifd.git] / alias.c
diff --git a/alias.c b/alias.c
index e4f28e5..4e0a6be 100644 (file)
--- a/alias.c
+++ b/alias.c
@@ -37,6 +37,7 @@ static void alias_set_device(struct alias_device *alias, struct device *dev)
        if (dev == alias->dep.dev)
                return;
 
+       device_set_present(&alias->dev, false);
        device_remove_user(&alias->new_dep);
        if (alias->dev.active) {
                if (dev)
@@ -50,6 +51,7 @@ static void alias_set_device(struct alias_device *alias, struct device *dev)
        device_remove_user(&alias->dep);
        alias->dev.hidden = !dev;
        if (dev) {
+               alias->dev.ifindex = dev->ifindex;
                strcpy(alias->dev.ifname, dev->ifname);
                device_broadcast_event(&alias->dev, DEV_EVENT_UPDATE_IFNAME);
                device_add_user(&alias->dep, dev);