X-Git-Url: https://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.c;h=35f20b087fdee2906296cb29cbbf65045a34d9ea;hp=df04ce317ab946b0953884a101fccde3ac1f0fc9;hb=b2dcb02570939d98b92c7c55db1c328693a5d52a;hpb=9f9f387e14300de1ad517bf57273722c54ba5d7f diff --git a/interface.c b/interface.c index df04ce3..35f20b0 100644 --- a/interface.c +++ b/interface.c @@ -272,11 +272,14 @@ interface_check_state(struct interface *iface) switch (iface->state) { case IFS_UP: if (!iface->enabled || !link_state) { - mark_interface_down(iface); interface_proto_event(iface->proto, PROTO_CMD_TEARDOWN, false); + mark_interface_down(iface); } break; case IFS_DOWN: + if (!iface->available) + return; + if (iface->autostart && iface->enabled && link_state && !config_init) __interface_set_up(iface); break;