summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/suspend.c
diff options
context:
space:
mode:
authorXin Xie <xxie@nvidia.com>2011-06-20 13:07:59 -0700
committerNiket Sirsi <nsirsi@nvidia.com>2011-06-24 21:07:15 -0700
commitb5c32cddbe8cc30303062609a9dec4320cd4087b (patch)
treee6c38946d82dc8d88eeacd1bed840411572386d7 /arch/arm/mach-tegra/suspend.c
parentc23573d0b5097daeda0fb2c2cd27c518b796ea97 (diff)
arm: tegra: power: fix LP2 scheduling in atomic
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: Id6cfd8c1ad305281422da878ae77b93b58f3b306 Reviewed-on: http://git-master/r/37505 Reviewed-by: Xin Xie <xxie@nvidia.com> Tested-by: Xin Xie <xxie@nvidia.com> Reviewed-by: Aleksandr Frid <afrid@nvidia.com> Reviewed-by: Venkata (Muni) Anda <vanda@nvidia.com> Reviewed-by: Scott Williams <scwilliams@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'arch/arm/mach-tegra/suspend.c')
-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 33e94482c369..cdc693dfa934 100644
--- a/arch/arm/mach-tegra/suspend.c
+++ b/arch/arm/mach-tegra/suspend.c
@@ -429,7 +429,7 @@ static noinline void suspend_cpu_complex(void)
int i;
#ifdef CONFIG_ARCH_TEGRA_2x_SOC
- disable_irq(INT_SYS_STATS_MON);
+ disable_irq_nosync(INT_SYS_STATS_MON);
#endif
/* switch coresite to clk_m, save off original source */
tegra_sctx.clk_csite_src = readl(clk_rst + CLK_RESET_SOURCE_CSITE);