From a4afee9d923c594729a670364f06c2ce3b36c978 Mon Sep 17 00:00:00 2001 From: Tero Kristo Date: Fri, 20 Mar 2009 15:21:02 +0200 Subject: [PATCH] --- yaml --- r: 172770 b: refs/heads/master c: cf22854cee10e16e28b1dde136c37e82b7d503ee h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/cpuidle34xx.c | 3 ++- trunk/arch/arm/mach-omap2/pm34xx.c | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index c4d4bf39d1c0..cf494a6ec7bf 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: da869621c3cd93d5a8361f243b50e5d48d12bd14 +refs/heads/master: cf22854cee10e16e28b1dde136c37e82b7d503ee diff --git a/trunk/arch/arm/mach-omap2/cpuidle34xx.c b/trunk/arch/arm/mach-omap2/cpuidle34xx.c index 1d10c4aa9352..a26d6a08ae3f 100644 --- a/trunk/arch/arm/mach-omap2/cpuidle34xx.c +++ b/trunk/arch/arm/mach-omap2/cpuidle34xx.c @@ -22,6 +22,7 @@ * published by the Free Software Foundation. */ +#include #include #include @@ -113,7 +114,7 @@ static int omap3_enter_idle(struct cpuidle_device *dev, pwrdm_set_next_pwrst(mpu_pd, mpu_state); pwrdm_set_next_pwrst(core_pd, core_state); - if (omap_irq_pending()) + if (omap_irq_pending() || need_resched()) goto return_sleep_time; if (cx->type == OMAP3_STATE_C1) { diff --git a/trunk/arch/arm/mach-omap2/pm34xx.c b/trunk/arch/arm/mach-omap2/pm34xx.c index 4e87b61ca040..81ed252a0f8a 100644 --- a/trunk/arch/arm/mach-omap2/pm34xx.c +++ b/trunk/arch/arm/mach-omap2/pm34xx.c @@ -523,7 +523,7 @@ static void omap3_pm_idle(void) if (!omap3_can_sleep()) goto out; - if (omap_irq_pending()) + if (omap_irq_pending() || need_resched()) goto out; omap_sram_idle();