kconfig: Update config changed flag before calling callback

[ Upstream commit ee06a3ef7e ]

Prior to commit 5ee5465940 ("kconfig: change sym_change_count to a
boolean flag"), the conf_updated flag was set to the new value *before*
calling the callback. xconfig's save action depends on this behaviour,
because xconfig calls conf_get_changed() directly from the callback and
now sees the old value, thus never enabling the save button or the
shortcut.

Restore the previous behaviour.

Fixes: 5ee5465940 ("kconfig: change sym_change_count to a boolean flag")
Signed-off-by: Jurica Vukadin <jura@vukad.in>
Acked-by: Randy Dunlap <rdunlap@infradead.org>
Tested-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Jurica Vukadin 2023-03-07 20:40:39 +01:00 committed by Greg Kroah-Hartman
parent fc331de552
commit 8a3876f8c7
1 changed files with 4 additions and 2 deletions

View File

@ -1226,10 +1226,12 @@ static void (*conf_changed_callback)(void);
void conf_set_changed(bool val)
{
if (conf_changed_callback && conf_changed != val)
conf_changed_callback();
bool changed = conf_changed != val;
conf_changed = val;
if (conf_changed_callback && changed)
conf_changed_callback();
}
bool conf_get_changed(void)