Add ubus methods for global interface status
[project/netifd.git] / device.c
index e635b05..c30650a 100644 (file)
--- a/device.c
+++ b/device.c
@@ -216,7 +216,7 @@ int device_claim(struct device_user *dep)
        if (ret == 0)
                device_broadcast_event(dev, DEV_EVENT_UP);
        else {
-               D(DEVICE, "claim device %s failed: %d\n", dev->ifname, ret);
+               D(DEVICE, "claim %s %s failed: %d\n", dev->type->name, dev->ifname, ret);
                dev->active = 0;
                dep->claimed = false;
        }
@@ -408,6 +408,9 @@ void device_add_user(struct device_user *dep, struct device *dev)
 {
        struct safe_list *head;
 
+       if (dep->dev == dev)
+               return;
+
        if (dep->dev)
                device_remove_user(dep);