In case flags have been cleared because settings failed to apply,
restore them when the device is brought down so that they will be
re-attempted the next time the device is brought up.
Signed-off-by: Erik Karlsson <erik.karlsson@genexis.eu>
} else {
system_if_down(dev);
system_if_apply_settings(dev, &dev->orig_settings, dev->orig_settings.flags);
+
+ /* Restore any settings present in UCI which may have
+ * failed to apply so that they will be re-attempted
+ * the next time the device is brought up */
+ dev->settings.flags |= dev->settings.valid_flags;
}
return 0;
s->flags |= DEV_OPT_EEE;
}
+ /* Remember the settings present in UCI */
+ s->valid_flags = s->flags;
+
cur = tb[DEV_ATTR_AUTH_VLAN];
free(dev->config_auth_vlans);
dev->config_auth_vlans = cur ? blob_memdup(cur) : NULL;