diff --git a/arch/x86/scc/icc.c b/arch/x86/scc/icc.c index e3057706..d5d660cb 100644 --- a/arch/x86/scc/icc.c +++ b/arch/x86/scc/icc.c @@ -190,6 +190,7 @@ int icc_send_irq(int ue) int icc_halt(void) { uint32_t flags; +#if 0 uint32_t do_send = 1; do { @@ -206,7 +207,13 @@ int icc_halt(void) NOP1; } while(do_send); - +#else + // iRCCE is not thread save => disable interrupts + flags = irq_nested_disable(); + icc_mail_check(); + irq_nested_enable(flags); + NOP1; +#endif //HALT; return 0;