summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorGuEe-GUI <[email protected]>2024-09-11 12:55:31 +0800
committerRbb666 <[email protected]>2024-09-19 21:14:42 +0800
commit55b40b5164b8583b66122be2d62f141daee776b3 (patch)
tree120f11803cd881733f4f1cfb6ed3ba5b06a1f60b /components
parent584f4b869d0cb57d7ee625f3c255dffa4649d205 (diff)
[FIXUP/PIC] set interrupt status when do traps
Signed-off-by: GuEe-GUI <[email protected]>
Diffstat (limited to 'components')
-rw-r--r--components/drivers/pic/pic.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/components/drivers/pic/pic.c b/components/drivers/pic/pic.c
index 75f629f974..5cd2ece005 100644
--- a/components/drivers/pic/pic.c
+++ b/components/drivers/pic/pic.c
@@ -503,6 +503,8 @@ rt_err_t rt_pic_do_traps(void)
rt_err_t err = -RT_ERROR;
struct irq_traps *traps;
+ rt_interrupt_enter();
+
rt_list_for_each_entry(traps, &_traps_nodes, list)
{
if (traps->handler(traps->data))
@@ -513,6 +515,8 @@ rt_err_t rt_pic_do_traps(void)
}
}
+ rt_interrupt_leave();
+
return err;
}