From d6aa3bf44ba11293d08c66dbeeac822452d5f551 Mon Sep 17 00:00:00 2001 From: ou-yangkan <519689417@qq.com> Date: Thu, 16 Dec 2021 13:50:26 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9csky=E5=92=8Cxtensa=E6=9E=B6?= =?UTF-8?q?=E6=9E=84=E7=9A=84g=5FintCount=E5=8F=98=E9=87=8F=E4=BD=BF?= =?UTF-8?q?=E7=94=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: ou-yangkan <519689417@qq.com> --- arch/csky/v2/gcc/los_interrupt.c | 4 ++-- arch/xtensa/lx6/gcc/los_interrupt.c | 8 ++++---- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/arch/csky/v2/gcc/los_interrupt.c b/arch/csky/v2/gcc/los_interrupt.c index caf3ec5c..a10243f7 100644 --- a/arch/csky/v2/gcc/los_interrupt.c +++ b/arch/csky/v2/gcc/los_interrupt.c @@ -287,7 +287,7 @@ LITE_OS_SEC_TEXT VOID HalInterrupt(VOID) UINT32 intSave; intSave = LOS_IntLock(); - g_intCount = TRUE; + g_intCount++; LOS_IntRestore(intSave); hwiIndex = HalIntNumGet(); @@ -310,7 +310,7 @@ LITE_OS_SEC_TEXT VOID HalInterrupt(VOID) OsHookCall(LOS_HOOK_TYPE_ISR_EXIT, hwiIndex); intSave = LOS_IntLock(); - g_intCount = FALSE; + g_intCount--; HalIrqEndCheckNeedSched(); LOS_IntRestore(intSave); } diff --git a/arch/xtensa/lx6/gcc/los_interrupt.c b/arch/xtensa/lx6/gcc/los_interrupt.c index f881668d..81374ceb 100644 --- a/arch/xtensa/lx6/gcc/los_interrupt.c +++ b/arch/xtensa/lx6/gcc/los_interrupt.c @@ -42,7 +42,7 @@ #include "los_membox.h" #include "los_arch_regs.h" -UINT32 g_intCount = FALSE; +UINT32 g_intCount = 0; /* * * @ingroup los_hwi @@ -236,7 +236,7 @@ UINT32 HalIrqClear(HWI_HANDLE_T vector) INLINE UINT32 HalIsIntActive(VOID) { - return (g_intCount == TRUE); + return (g_intCount > 0); } /* **************************************************************************** @@ -276,7 +276,7 @@ VOID HalInterrupt(VOID) UINT32 intSave; intSave = LOS_IntLock(); - g_intCount = TRUE; + g_intCount++; LOS_IntRestore(intSave); hwiIndex = HalIntNumGet(); @@ -301,7 +301,7 @@ VOID HalInterrupt(VOID) OsHookCall(LOS_HOOK_TYPE_ISR_EXIT, hwiIndex); intSave = LOS_IntLock(); - g_intCount = FALSE; + g_intCount--; LOS_IntRestore(intSave); HalIrqEndCheckNeedSched(); }