X-Git-Url: https://git.kernelconcepts.de/?p=karo-tx-uboot.git;a=blobdiff_plain;f=common%2Fcmd_pxe.c;h=9426f5b05bc6eec210d753d4cb167308c67475e9;hp=3efd7008e95fe1d74bb48e16a7969e6eec700f22;hb=6f40f2749ac34da91c7054ee6d94808ee1db4cb1;hpb=d88af4da9a8d694e2cfd98a2deefedd472817183 diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c index 3efd7008e9..9426f5b05b 100644 --- a/common/cmd_pxe.c +++ b/common/cmd_pxe.c @@ -1273,10 +1273,21 @@ static void handle_pxe_menu(struct pxe_menu *cfg) menu_destroy(m); - if (err < 1) - return; + /* + * err == 1 means we got a choice back from menu_get_choice. + * + * err == -ENOENT if the menu was setup to select the default but no + * default was set. in that case, we should continue trying to boot + * labels that haven't been attempted yet. + * + * otherwise, the user interrupted or there was some other error and + * we give up. + */ - label_boot(choice); + if (err == 1) + label_boot(choice); + else if (err != -ENOENT) + return; boot_unattempted_labels(cfg); }