idle: enable interrupts before idling
authorMatt Fleming <matt.fleming@intel.com>
Wed, 3 Jul 2013 21:09:15 +0000 (22:09 +0100)
committerMatt Fleming <matt.fleming@intel.com>
Wed, 3 Jul 2013 21:18:37 +0000 (22:18 +0100)
Users are *still* reporting executing __idle() with interrupts disabled,
which ultimately leads to a hang. Just enable them explicitly before
idling.

Cc: H. Peter Anvin <hpa@zytor.com>
Signed-off-by: Matt Fleming <matt.fleming@intel.com>
core/idle.c

index 7f76a14..16d10d5 100644 (file)
@@ -43,6 +43,7 @@ __export void __idle(void)
     if (idle_hook_func && idle_hook_func())
        return;                 /* Nonzero return = do not idle */
 
+    sti();
     if (NoHalt)
        cpu_relax();
     else