diff options
author | Rob Herring <rob.herring@calxeda.com> | 2012-05-02 18:52:49 -0500 |
---|---|---|
committer | John Rigby <john.rigby@linaro.org> | 2012-12-06 13:51:49 -0700 |
commit | 0731b7baf241c2256e656e278cdf0046d060c729 (patch) | |
tree | c1151b9d6952f6c2b9a2c38560f30a17321e6e02 | |
parent | 4b3efae8a83f8c79342a9362204f36b85078e29b (diff) |
pxe: fix default label handling
Changing to numeric entries broke the default label.
Signed-off-by: Rob Herring <rob.herring@calxeda.com>
-rw-r--r-- | common/cmd_pxe.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/common/cmd_pxe.c b/common/cmd_pxe.c index 5d672af96..acc6a9b00 100644 --- a/common/cmd_pxe.c +++ b/common/cmd_pxe.c @@ -1280,6 +1280,7 @@ static struct menu *pxe_menu_to_menu(struct pxe_menu *cfg) struct menu *m; int err; int i = 1; + char *default_num = NULL; /* * Create a menu and add items for all the labels. @@ -1297,14 +1298,18 @@ static struct menu *pxe_menu_to_menu(struct pxe_menu *cfg) menu_destroy(m); return NULL; } + if (cfg->default_label && + (strcmp(label->name, cfg->default_label) == 0)) + default_num = label->num; + } /* * After we've created items for each label in the menu, set the * menu's default label if one was specified. */ - if (cfg->default_label) { - err = menu_default_set(m, cfg->default_label); + if (default_num) { + err = menu_default_set(m, default_num); if (err != 1) { if (err != -ENOENT) { menu_destroy(m); |