From 2a91b34e4494696c7168ce447fbfc9185bad6379 Mon Sep 17 00:00:00 2001 From: Kevin O'Connor Date: Fri, 7 Aug 2015 16:13:18 -0400 Subject: [PATCH] Call cpu_relax() if yielding prior to interrupts being enabled Signed-off-by: Kevin O'Connor --- src/stacks.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/stacks.c b/src/stacks.c index 107c89e..0c5f79a 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -661,9 +661,11 @@ fail: void VISIBLE16 check_irqs(void) { - if (!MODESEGMENT && !CanInterrupt) + if (!MODESEGMENT && !CanInterrupt) { // Can't enable interrupts (PIC and/or IVT not yet setup) + cpu_relax(); return; + } if (need_hop_back()) { extern void _cfunc16_check_irqs(void); stack_hop_back(0, 0, _cfunc16_check_irqs); -- 2.39.5