[PATCH 1/2] discover/device-handler: Cancel pending boot on reinit
Samuel Mendoza-Jonas
sam at mendozajonas.com
Tue Jan 24 15:52:47 AEDT 2017
When a reinit is requested device_handler_cancel_default() is
called, however as the name suggests this only cancels the boot task if
it is the result of a default boot option. We also want to cancel a boot
task if it was executed manually because it may have outstanding
asynchronous tranfers running, so explicitly cancel it during reinit.
Signed-off-by: Samuel Mendoza-Jonas <sam at mendozajonas.com>
---
discover/device-handler.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/discover/device-handler.c b/discover/device-handler.c
index 48bfa0e..a3e5bdb 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -351,6 +351,12 @@ void device_handler_reinit(struct device_handler *handler)
unsigned int i;
device_handler_cancel_default(handler);
+ /* Cancel any pending non-default boot */
+ if (handler->pending_boot) {
+ boot_cancel(handler->pending_boot);
+ handler->pending_boot = NULL;
+ handler->pending_boot_is_default = false;
+ }
/* free unresolved boot options */
list_for_each_entry_safe(&handler->unresolved_boot_options,
--
2.11.0
More information about the Petitboot
mailing list