diff options
| author | Jason Hobbs <jason.hobbs@calxeda.com> | 2011-11-07 03:07:15 +0000 | 
|---|---|---|
| committer | Wolfgang Denk <wd@denx.de> | 2011-12-06 21:21:42 +0100 | 
| commit | 6f40f2749ac34da91c7054ee6d94808ee1db4cb1 (patch) | |
| tree | 800f9364c3e35b78fe22b471460f456ab06cc5cb | |
| parent | d88af4da9a8d694e2cfd98a2deefedd472817183 (diff) | |
| download | olio-uboot-2014.01-6f40f2749ac34da91c7054ee6d94808ee1db4cb1.tar.xz olio-uboot-2014.01-6f40f2749ac34da91c7054ee6d94808ee1db4cb1.zip | |
pxe: make the first label the implicit default
If no default label is specified, but a situation arises where the
default label should be used, treat the first label specified as the
default label.
Signed-off-by: Jason Hobbs <jason.hobbs@calxeda.com>
Cc: Ricardo Salveti de Araujo <ricardo.salveti@linaro.org>
Cc: Wolfgang Denk <wd@denx.de>
| -rw-r--r-- | common/cmd_pxe.c | 17 | 
1 files changed, 14 insertions, 3 deletions
| diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c index 3efd7008e..9426f5b05 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);  } |