static void
interface_cleanup(struct interface *iface)
{
+ interface_clear_errors(iface);
if (iface->main_dev.dev)
device_remove_user(&iface->main_dev);
interface_set_proto_state(iface, NULL);
interface_claim_device(iface);
proto_init_interface(iface, iface->config);
- if (iface->autostart)
+ if (iface->autostart && !config_init)
interface_set_up(iface);
}
{
struct blob_attr *old_config = if_old->config;
+ interface_clear_errors(if_old);
if_old->config = if_new->config;
if (!if_old->config_autostart && if_new->config_autostart)
if_old->autostart = true;