]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - scripts/kconfig/confdata.c
kconfig: do not override symbols already set
[karo-tx-linux.git] / scripts / kconfig / confdata.c
index 13ddf1126c2a05d82eaa8171c75ee8949d4092cc..2e35d4b2bbfd7bb7cc72da7bdc3faa92d7146167 100644 (file)
@@ -1109,7 +1109,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
        int i, cnt;
 
        for_all_symbols(i, sym) {
-               if (sym_has_value(sym))
+               if (sym_has_value(sym) || (sym->flags & SYMBOL_VALID))
                        continue;
                switch (sym_get_type(sym)) {
                case S_BOOLEAN:
@@ -1125,7 +1125,7 @@ void conf_set_all_new_symbols(enum conf_def_mode mode)
                                sym->def[S_DEF_USER].tri = no;
                                break;
                        case def_random:
-                               cnt = sym_get_type(sym) == S_TRISTATE ? 3 : 2;
+                               cnt = sym->type == S_TRISTATE ? 3 : 2;
                                sym->def[S_DEF_USER].tri = (tristate)(rand() % cnt);
                                break;
                        default: