diff --git a/scripts/kconfig/symbol.c b/scripts/kconfig/symbol.c index 79f1b5e1cc9eadaa84cb1444c8922e6a0475ed7b..22c15a1033711556498fe924c75a844e98be49a1 100644 --- a/scripts/kconfig/symbol.c +++ b/scripts/kconfig/symbol.c @@ -1280,9 +1280,13 @@ static struct symbol *sym_check_choice_deps(struct symbol *choice) if (menu->sym) menu->sym->flags &= ~SYMBOL_CHECK; - if (sym2 && sym_is_choice_value(sym2) && - prop_get_symbol(sym_get_choice_prop(sym2)) == choice) - sym2 = choice; + if (sym2) { + struct menu *choice_menu2; + + choice_menu2 = sym_get_choice_menu(sym2); + if (choice_menu2 == choice_menu) + sym2 = choice; + } dep_stack_remove();