diff --git a/common/globalvar.c b/common/globalvar.c index 52808f8..ab573cc 100644 --- a/common/globalvar.c +++ b/common/globalvar.c @@ -233,10 +233,16 @@ if (ret && ret != -EEXIST) return ret; - if (!value) - value = dev_get_param(&global_device, name); + if (value) + return nv_set(&nv_device, p, value); - return nv_set(&nv_device, p, value); + value = dev_get_param(&global_device, name); + if (value) { + free(p->value); + p->value = xstrdup(value); + } + + return 0; } int nvvar_add(const char *name, const char *value)