distro/pxeboot: Handle prompt variable
authorManuel Traut <manuel.traut@mt.com>
Fri, 18 Nov 2022 08:00:27 +0000 (09:00 +0100)
committerTom Rini <trini@konsulko.com>
Mon, 12 Dec 2022 19:03:12 +0000 (14:03 -0500)
Regarding the documentation found here:
https://github.com/u-boot/u-boot/blob/master/common/menu.c#L347

If both timeout and prompt is set to 0 the default entry shall
be booted immediately. However the current behaviour is that
the prompt is shown (tested with distroboot) until the user
selects an entry (no timeout).

This change implements a behaviour as documented. It was tested
with distroboot.

Signed-off-by: Manuel Traut <manuel.traut@mt.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Simon Glass <sjg@chromium.org>
boot/pxe_utils.c

index c613818..2724313 100644 (file)
@@ -1368,7 +1368,10 @@ static int parse_pxefile_top(struct pxe_context *ctx, char *p, unsigned long bas
                        break;
 
                case T_PROMPT:
-                       eol_or_eof(&p);
+                       err = parse_integer(&p, &cfg->prompt);
+                       // Do not fail if prompt configuration is undefined
+                       if (err <  0)
+                               eol_or_eof(&p);
                        break;
 
                case T_EOL: