From 028f4cd952e289e9372f9cd3f98b549392656dca Mon Sep 17 00:00:00 2001 From: wangchengdong Date: Tue, 4 Nov 2025 13:26:14 +0800 Subject: [PATCH] arm/sam34: Replace spinlock/sched_lock with spin_lock_irqsave_nopreempt Replace the spinlock/sched_lock pair in arm/sam34 with spin_lock_irqsave_nopreempt() to improve code clarity and consistency. Signed-off-by: Chengdong Wang wangchengdong@lixiang.com --- arch/arm/src/sam34/sam_rtc.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/arch/arm/src/sam34/sam_rtc.c b/arch/arm/src/sam34/sam_rtc.c index a375830e312..3dd26c40b4e 100644 --- a/arch/arm/src/sam34/sam_rtc.c +++ b/arch/arm/src/sam34/sam_rtc.c @@ -657,8 +657,8 @@ int sam_rtc_setalarm(const struct timespec *tp, alarmcb_t callback) /* Is there already something waiting on the ALARM? */ - flags = spin_lock_irqsave(&g_rtc_lock); - sched_lock(); + flags = spin_lock_irqsave_nopreempt(&g_rtc_lock); + if (g_alarmcb == NULL) { /* No.. Save the callback function pointer */ @@ -736,8 +736,7 @@ int sam_rtc_setalarm(const struct timespec *tp, alarmcb_t callback) ret = OK; } - spin_unlock_irqrestore(&g_rtc_lock, flags); - sched_unlock(); + spin_unlock_irqrestore_nopreempt(&g_rtc_lock, flags); return ret; } #endif