wireless: fix premature removal of hotplug devices due to down state
[project/netifd.git] / system-linux.c
index 8efb020e78d22ef4054961b00766915f20a2821e..21110c552157268e18514fa25e1590f9e5a31af4 100644 (file)
@@ -700,12 +700,10 @@ static void
 system_device_update_state(struct device *dev, unsigned int flags, unsigned int ifindex)
 {
        if (dev->type == &simple_device_type) {
-               bool present = ifindex > 0;
-
                if (dev->external)
-                       present = present && (flags & IFF_UP);
+                       device_set_disabled(dev, !(flags & IFF_UP));
 
-               device_set_present(dev, present);
+               device_set_present(dev, ifindex > 0);
        }
        device_set_link(dev, flags & IFF_LOWER_UP ? true : false);
 }