|
|
|
Schduling while atomic | |
| [Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] | |
On Tue, Jan 14, 2003 at 09:13:35AM -0700, Scott Miller wrote:
> Does this help?
This should fix it:
--- orig/arch/arm/kernel/process.c Sun Nov 24 10:12:01 2002
+++ linux/arch/arm/kernel/process.c Tue Jan 14 16:31:33 2003
@@ -91,15 +91,16 @@
void cpu_idle(void)
{
/* endless idle loop with no priority at all */
- preempt_disable();
while (1) {
void (*idle)(void) = pm_idle;
if (!idle)
idle = default_idle;
+ preempt_disable();
leds_event(led_idle_start);
while (!need_resched())
idle();
leds_event(led_idle_end);
+ preempt_enable();
schedule();
}
}
[Linux ARM] [Linux ARM MSM] [Linux ARM Kernel] [Fedora ARM] [IETF Annouce] [Security] [Bugtraq] [Linux] [Linux OMAP] [Linux MIPS] [ECOS] [Tools] [DDR & Rambus] [Asterisk Internet PBX] [Linux API] [Monitors]
![]() |
|