From: Jeremy Kerr Date: Mon, 23 Sep 2013 08:27:17 +0000 (+0800) Subject: discover: Don't register multiple boot_timeout waiters X-Git-Tag: v1.0.0~484 X-Git-Url: http://git.ozlabs.org/?p=petitboot;a=commitdiff_plain;h=e39c5ad541830cecbd331f877ef43ded738a9251;ds=sidebyside discover: Don't register multiple boot_timeout waiters Rather than adding another timeout waiter, just override handler->default_boot_option and extend the timeout a little. Signed-off-by: Jeremy Kerr --- diff --git a/discover/device-handler.c b/discover/device-handler.c index f9d2dbf..02ae688 100644 --- a/discover/device-handler.c +++ b/discover/device-handler.c @@ -372,8 +372,14 @@ static void set_default(struct device_handler *handler, cur_prio = default_option_priority( handler->default_boot_option); - if (new_prio >= cur_prio) - return; + if (new_prio < cur_prio) { + handler->default_boot_option = opt; + /* extend the timeout a little, so the user sees some + * indication of the change */ + handler->sec_to_boot += 2; + } + + return; } handler->sec_to_boot = config_get()->autoboot_timeout_sec;