CPUidle: always return with interrupts enabled
svn path=/dists/trunk/linux-2.6/; revision=14397
This commit is contained in:
parent
cd44eaf48a
commit
29c51fbe38
|
@ -4,6 +4,9 @@ linux-2.6 (2.6.31-1~experimental.3) UNRELEASED; urgency=low
|
|||
* Include aufs2, marked as staging (Closes: #541828)
|
||||
* Include speakup modules under staging
|
||||
|
||||
[ Martin Michlmayr ]
|
||||
* CPUidle: always return with interrupts enabled.
|
||||
|
||||
-- Ben Hutchings <ben@decadent.org.uk> Tue, 13 Oct 2009 02:18:40 +0100
|
||||
|
||||
linux-2.6 (2.6.31-1~experimental.2) experimental; urgency=low
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
Subject: [PATCH] CPUidle: always return with interrupts enabled
|
||||
|
||||
In the case where cpuidle_idle_call() returns before changing state
|
||||
due to a need_resched(), it was returning with IRQs disabled.
|
||||
|
||||
This patch ensures IRQs are (re)enabled before returning.
|
||||
|
||||
Reported-by: Hemanth V <hemanthv@ti.com>
|
||||
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
|
||||
---
|
||||
drivers/cpuidle/cpuidle.c | 5 ++++-
|
||||
1 files changed, 4 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/drivers/cpuidle/cpuidle.c b/drivers/cpuidle/cpuidle.c
|
||||
index ad41f19..12fdd39 100644
|
||||
--- a/drivers/cpuidle/cpuidle.c
|
||||
+++ b/drivers/cpuidle/cpuidle.c
|
||||
@@ -75,8 +75,11 @@ static void cpuidle_idle_call(void)
|
||||
#endif
|
||||
/* ask the governor for the next state */
|
||||
next_state = cpuidle_curr_governor->select(dev);
|
||||
- if (need_resched())
|
||||
+ if (need_resched()) {
|
||||
+ local_irq_enable();
|
||||
return;
|
||||
+ }
|
||||
+
|
||||
target_state = &dev->states[next_state];
|
||||
|
||||
/* enter the state and update stats */
|
||||
--
|
||||
1.6.4.3
|
||||
|
||||
--
|
||||
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
|
||||
the body of a message to majordomo@vger.kernel.org
|
||||
More majordomo info at http://vger.kernel.org/majordomo-info.html
|
||||
Please read the FAQ at http://www.tux.org/lkml/
|
|
@ -58,3 +58,4 @@
|
|||
+ bugfix/all/stable/2.6.31.3.patch
|
||||
+ bugfix/all/hfsplus-limit-to-2tb.patch
|
||||
+ bugfix/all/stable/2.6.31.4.patch
|
||||
+ bugfix/all/cpuidle-return-with-irq-enabled.patch
|
||||
|
|
Loading…
Reference in New Issue