From 731af5b42fb20d62b57e79eb52b3fbbeac38eecb Mon Sep 17 00:00:00 2001 From: buxiasen Date: Sun, 29 Sep 2024 15:22:23 +0800 Subject: [PATCH] drivers/pm: pm_smp remove sched_lock all os-api those have post/wait feature will not allowed in pm_callbacks and pm_handler, until we support by cpu/tcb sched_lock and add sched_lock/unlock back here. Then should revert this commit. Signed-off-by: buxiasen --- drivers/power/pm/pm_idle.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/drivers/power/pm/pm_idle.c b/drivers/power/pm/pm_idle.c index 42f37cdf9b0..80d65a4ca85 100644 --- a/drivers/power/pm/pm_idle.c +++ b/drivers/power/pm/pm_idle.c @@ -146,10 +146,11 @@ void pm_idle(pm_idle_handler_t handler) /* If sched lock before irq save, and irq handler do post, scheduler will * be delayed after WFI until next sched unlock. which is not acceptable. + * per cpu sched_lock/unlock is not available here, all post/wait api will + * not allow in pm_callbacks. */ flags = up_irq_save(); - sched_lock(); oldstate = pm_querystate(domain); newstate = pm_checkstate(domain); @@ -200,10 +201,11 @@ void pm_idle(pm_idle_handler_t handler) /* If there is pending irq, enable irq make handlers finish all * execution will be better decrease scheduler context switch times. + * per cpu sched_lock/unlock is not available here, all post/wait api will + * not allow in pm_callbacks. */ up_irq_restore(flags); - sched_unlock(); } #else