[PATCH] discover: Perform pre-boot steps when timeout expires

Samuel Mendoza-Jonas sam at mendozajonas.com
Wed Apr 13 15:43:08 AEST 2016


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 at mendozajonas.com>
---
 discover/device-handler.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/discover/device-handler.c b/discover/device-handler.c
index 489ecd7..43b9541 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -445,6 +445,8 @@ static int default_timeout(void *arg)
 
 	pb_log("Timeout expired, booting default option %s\n", opt->option->id);
 
+	platform_pre_boot();
+
 	handler->pending_boot = boot(handler, handler->default_boot_option,
 			NULL, handler->dry_run, boot_status, handler);
 	handler->pending_boot_is_default = true;
-- 
2.8.0



More information about the Petitboot mailing list