X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface-event.c;h=3b0d1faca391bf0b89c1909f5477e2c08db18b45;hp=fe4759e6b5161c7742546cf78d78e20a354f46f8;hb=37769eb666aa614b76df9b537db35c2c70e3ac7a;hpb=81a3b50ef7fad3096a8d164c871521e6e6b55aa1 diff --git a/interface-event.c b/interface-event.c index fe4759e..3b0d1fa 100644 --- a/interface-event.c +++ b/interface-event.c @@ -14,7 +14,6 @@ #include #include #include -#include #include @@ -111,9 +110,9 @@ interface_queue_event(struct interface *iface, enum interface_event ev) last_ev = iface->hotplug_ev; iface->hotplug_ev = ev; - if (last_ev == ev && !list_empty(&iface->hotplug_list)) + if ((last_ev == ev && ev != IFEV_UPDATE) && !list_empty(&iface->hotplug_list)) list_del_init(&iface->hotplug_list); - else if (last_ev != ev && list_empty(&iface->hotplug_list)) + else if ((last_ev != ev || ev == IFEV_UPDATE) && list_empty(&iface->hotplug_list)) list_add(&iface->hotplug_list, &pending); if (!task.pending && !current)