summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-06-20 13:07:59 -0700
committerRohan Somvanshi <rsomvanshi@nvidia.com>2011-06-26 19:20:48 -0700
commit174357de455bec89f17b7ca09152a27f6bedd491 (patch)
tree34beba9a69a76da2d46ba3b803b62e99183e784a
parent364364a180ee0eac2073c9e3d2541ebb22cc2800 (diff)
arm: tegra: power: fix LP2 scheduling in atomictegra-11.2.9
disable_irq() will do schedule() if threaded IRQ handler is running. But suspend_cpu_complex() is called from IRQ disabled. disable_irq_nosync() should be used here because it will not sleep. BUG 841808 Change-Id: I5bc241e607ffb5cad34530185e308a9f9bbc6543 Reviewed-on: http://git-master/r/37505 Reviewed-on: http://git-master/r/38188 Reviewed-by: Xin Xie <xxie@nvidia.com> Tested-by: Xin Xie <xxie@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
-rw-r--r--arch/arm/mach-tegra/suspend.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/suspend.c b/arch/arm/mach-tegra/suspend.c
index e8810b5c471b..f05acc6cb65f 100644
--- a/arch/arm/mach-tegra/suspend.c
+++ b/arch/arm/mach-tegra/suspend.c
@@ -329,7 +329,7 @@ static noinline void suspend_cpu_complex(void)
unsigned int reg;
int i;
- disable_irq(INT_SYS_STATS_MON);
+ disable_irq_nosync(INT_SYS_STATS_MON);
/* switch coresite to clk_m, save off original source */
tegra_sctx.clk_csite_src = readl(clk_rst + CLK_RESET_SOURCE_CSITE);