X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fnetifd.git;a=blobdiff_plain;f=interface.c;h=a2c3f44fb6c84b57953e58f2c58ef2b4d10f9adc;hp=3a8fd3427846a1a60811b06df143e634c6608c43;hb=b92d7fe66abb453619b996155b27641c5ce77276;hpb=57419bcad1d86c41e906ce2adda33516881cb9f1 diff --git a/interface.c b/interface.c index 3a8fd34..a2c3f44 100644 --- a/interface.c +++ b/interface.c @@ -328,9 +328,14 @@ interface_claim_device(struct interface *iface) static void interface_cleanup_state(struct interface *iface) { + interface_set_available(iface, false); + interface_flush_state(iface); interface_clear_errors(iface); interface_set_proto_state(iface, NULL); + + if (iface->main_dev.dev) + interface_set_main_dev(iface, NULL); } static void @@ -345,9 +350,6 @@ interface_cleanup(struct interface *iface) interface_remove_user(dep); interface_ip_flush(&iface->config_ip); - if (iface->main_dev.dev) - interface_set_main_dev(iface, NULL); - interface_cleanup_state(iface); }