@@ -832,6 +832,9 @@ static enum default_priority default_option_priority(
int boot_match = autoboot_option_priority(config, opt);
if (boot_match > 0)
return boot_match;
+ } else {
+ /* If there is no specific boot order, boot any device */
+ return DEFAULT_PRIORITY_LOCAL_FIRST;
}
/* If the option didn't match any entry in the array, it is disabled */
@@ -203,7 +203,7 @@ static int screen_process_form(struct config_screen *screen)
const struct system_info *sysinfo = screen->cui->sysinfo;
enum net_conf_type net_conf_type;
struct interface_config *iface;
- bool allow_write, autoboot;
+ bool allow_write;
char *str, *end;
struct config *config;
int i, n_boot_opts, rc;
@@ -218,8 +218,8 @@ static int screen_process_form(struct config_screen *screen)
n_boot_opts = widget_subset_get_order(config, &order,
screen->widgets.boot_order_f);
- autoboot = widget_select_get_value(screen->widgets.autoboot_f);
- config->autoboot_enabled = autoboot && n_boot_opts;
+ config->autoboot_enabled = widget_select_get_value(
+ screen->widgets.autoboot_f);
config->n_autoboot_opts = n_boot_opts;
config->autoboot_opts = talloc_array(config, struct autoboot_option,
It is possible to have autoboot enabled with an empty boot order. Currently this acts as if autoboot is disabled, but it likely makes more sense to the user for this to behave as "autoboot any device". Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com> --- discover/device-handler.c | 3 +++ ui/ncurses/nc-config.c | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-)