Google
  Web www.spinics.net

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]

Add to Google Google PageRank Checking tool