From 42f4538e40df17ceee964ab2d1a01bcdf16eac2b Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Tue, 26 Mar 2019 12:01:44 -0400 Subject: [PATCH] kernel: do not use k_busy_wait when on single thread k_busy_wait() does not work when multithreading is disabled, so do not try to wait during boot. Fixes #14454 Signed-off-by: Anas Nashif --- kernel/init.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/kernel/init.c b/kernel/init.c index 53d57f79555..b33af62707a 100644 --- a/kernel/init.c +++ b/kernel/init.c @@ -41,7 +41,8 @@ LOG_MODULE_REGISTER(kernel); /* boot banner items */ -#if defined(CONFIG_BOOT_DELAY) && CONFIG_BOOT_DELAY > 0 +#if defined(CONFIG_MULTITHREADING) && defined(CONFIG_BOOT_DELAY) \ + && CONFIG_BOOT_DELAY > 0 #define BOOT_DELAY_BANNER " (delayed boot " \ STRINGIFY(CONFIG_BOOT_DELAY) "ms)" #else @@ -242,7 +243,7 @@ static void bg_thread_main(void *unused1, void *unused2, void *unused3) #if CONFIG_STACK_POINTER_RANDOM z_stack_adjust_initialized = 1; #endif - if (boot_delay > 0) { + if (boot_delay > 0 && IS_ENABLED(CONFIG_MULTITHREADING)) { printk("***** delaying boot " STRINGIFY(CONFIG_BOOT_DELAY) "ms (per build configuration) *****\n"); k_busy_wait(CONFIG_BOOT_DELAY * USEC_PER_MSEC);