When a default boot timeout expires boot() is called via
default_timeout() rather than device_handler_boot(). default_timeout()
doesn't call platform_pre_boot() beforehand, which means steps such as
clearing a temporary boot device override are skipped.
Add a call to platform_pre_boot() immediately before boot() to ensure
these steps are performed regardless of boot type.
Signed-off-by: Samuel Mendoza-Jonas <sam@mendozajonas.com>
pb_log("Timeout expired, booting default option %s\n", opt->option->id);
pb_log("Timeout expired, booting default option %s\n", opt->option->id);
handler->pending_boot = boot(handler, handler->default_boot_option,
NULL, handler->dry_run, boot_status, handler);
handler->pending_boot_is_default = true;
handler->pending_boot = boot(handler, handler->default_boot_option,
NULL, handler->dry_run, boot_status, handler);
handler->pending_boot_is_default = true;