aboutsummaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorMian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com>2010-06-16 17:01:17 +0200
committerJohn Rigby <john.rigby@linaro.org>2010-09-02 22:45:37 -0600
commit1139f58e35327af72ea4cc249d5ff6ae42cf1be8 (patch)
tree7ce7878163a170b07de7da083bfcbc8a4ef66b6b /arch
parent6727ad56664d241adadbc38e5e9c1dee6a4c9bbc (diff)
downloadlinux-2.6.34-ux500-1139f58e35327af72ea4cc249d5ff6ae42cf1be8.tar.gz
cpuidle: dont enable irq after poll_idle as poll idle itself calls local_irq_enable
Signed-off-by: Mian Yousaf Kaukab <mian.yousaf.kaukab@stericsson.com> Change-Id: If6cf52f28bd2e131c0de1d2c90ec9faa90c9ef09 Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/2421 Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'arch')
-rwxr-xr-xarch/arm/mach-ux500/cpuidle.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/arm/mach-ux500/cpuidle.c b/arch/arm/mach-ux500/cpuidle.c
index 447d10a1e18..8aa65de08d2 100755
--- a/arch/arm/mach-ux500/cpuidle.c
+++ b/arch/arm/mach-ux500/cpuidle.c
@@ -169,9 +169,13 @@ static int u8500_enter_idle(struct cpuidle_device *dev,
if (cstate->type == U8500_CSTATE_C2)
ret = wfi_retention_idle(dev, state);
- if (cstate->type == U8500_CSTATE_C0)
+ if (cstate->type == U8500_CSTATE_C0) {
ret = poll_idle(dev, state);
+ /* irq already enabled so just return. */
+ return ret;
+ }
+
local_irq_enable();
return ret;