mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 07:04:28 +00:00
bootflow: Rework do_bootflow_menu() slightly
When building this with clang, we get a warning such as: cmd/bootflow.c:412:27: warning: variable 'bflow' is uninitialized when used here [-Wuninitialized] printf("Selected: %s\n", bflow->os_name ? bflow->os_name : bflow->name); ^~~~~ And a suggestion to just initialize bflow to NULL. This would however would be ensuring a bad dereference. Instead, looking at the function we rework things so that when CONFIG_EXPO is not enabled (and so, no UI) we error early and would never reach this point in the code. Simplify the rest slightly as well while at this. Signed-off-by: Tom Rini <trini@konsulko.com> Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
86592af536
commit
e0dda26c2e
1 changed files with 12 additions and 12 deletions
|
@ -390,6 +390,11 @@ static int do_bootflow_menu(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
bool text_mode = false;
|
||||
int ret;
|
||||
|
||||
if (!IS_ENABLED(CONFIG_EXPO)) {
|
||||
printf("Menu not supported\n");
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
|
||||
if (argc > 1 && *argv[1] == '-')
|
||||
text_mode = strchr(argv[1], 't');
|
||||
|
||||
|
@ -397,20 +402,15 @@ static int do_bootflow_menu(struct cmd_tbl *cmdtp, int flag, int argc,
|
|||
if (ret)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
if (IS_ENABLED(CONFIG_EXPO)) {
|
||||
ret = bootflow_menu_run(std, text_mode, &bflow);
|
||||
if (ret) {
|
||||
if (ret == -EAGAIN)
|
||||
printf("Nothing chosen\n");
|
||||
else
|
||||
printf("Menu failed (err=%d)\n", ret);
|
||||
ret = bootflow_menu_run(std, text_mode, &bflow);
|
||||
if (ret) {
|
||||
if (ret == -EAGAIN)
|
||||
printf("Nothing chosen\n");
|
||||
else {
|
||||
printf("Menu failed (err=%d)\n", ret);
|
||||
return CMD_RET_FAILURE;
|
||||
}
|
||||
} else {
|
||||
printf("Menu not supported\n");
|
||||
ret = -ENOSYS;
|
||||
}
|
||||
if (ret)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
printf("Selected: %s\n", bflow->os_name ? bflow->os_name : bflow->name);
|
||||
std->cur_bootflow = bflow;
|
||||
|
|
Loading…
Reference in a new issue