From 6d6152d1691039dbd1773226770531d6a6ef856a Mon Sep 17 00:00:00 2001 From: chenjiafan Date: Tue, 26 Sep 2023 14:20:46 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0smp=E5=8A=9F=E8=83=BD?= =?UTF-8?q?=EF=BC=8C=E4=BF=AE=E6=AD=A3=E5=8F=98=E9=87=8F=E5=8F=98=E6=9B=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: chenjiafan --- riscv32_virt/liteos_m/board/driver/virtnet.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/riscv32_virt/liteos_m/board/driver/virtnet.c b/riscv32_virt/liteos_m/board/driver/virtnet.c index 66549e9..3ccf256 100644 --- a/riscv32_virt/liteos_m/board/driver/virtnet.c +++ b/riscv32_virt/liteos_m/board/driver/virtnet.c @@ -27,15 +27,17 @@ #include "los_sched.h" VOID LOS_TaskLockSave(UINT32 *intSave) { + UINT32 cpuid = ArchCurrCpuid(); *intSave = LOS_IntLock(); - g_losTaskLock++; + g_losTaskLock[cpuid]++; } VOID LOS_TaskUnlockRestore(UINT32 intSave) { - if (g_losTaskLock > 0) { - g_losTaskLock--; - if (g_losTaskLock == 0) { + UINT32 cpuid = ArchCurrCpuid(); + if (g_losTaskLock[cpuid] > 0) { + g_losTaskLock[cpuid]--; + if (g_losTaskLock[cpuid] == 0) { LOS_IntRestore(intSave); LOS_Schedule(); return; -- Gitee