summaryrefslogtreecommitdiffstats
path: root/discover/device-handler.c
diff options
context:
space:
mode:
Diffstat (limited to 'discover/device-handler.c')
-rw-r--r--discover/device-handler.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/discover/device-handler.c b/discover/device-handler.c
index cf379e7..983c509 100644
--- a/discover/device-handler.c
+++ b/discover/device-handler.c
@@ -1278,6 +1278,7 @@ static int device_handler_requery_timeout_fn(void *data)
struct requery_data *rqd = data;
struct device_handler *handler;
struct discover_device *device;
+ bool autoboot;
handler = rqd->handler;
device = rqd->device;
@@ -1300,9 +1301,14 @@ static int device_handler_requery_timeout_fn(void *data)
talloc_free(opt);
}
+ /* Track whether autoboot was enabled, if we cancel a default option
+ * it will be switched off.
+ */
+ autoboot = handler->autoboot_enabled;
+
list_for_each_entry_safe(&device->boot_options, opt, tmp, list) {
if (opt == handler->default_boot_option) {
- pb_log("Default option %s cancelled since device is being requeried",
+ pb_log("Default option %s cancelled since device is being requeried\n",
opt->option->name);
device_handler_cancel_default(handler);
}
@@ -1310,6 +1316,8 @@ static int device_handler_requery_timeout_fn(void *data)
talloc_free(opt);
}
+ handler->autoboot_enabled = autoboot;
+
discover_server_notify_device_remove(handler->server, device->device);
device->notified = false;
OpenPOWER on IntegriCloud