summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/cpuidle-t3.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/cpuidle-t3.c')
-rw-r--r--arch/arm/mach-tegra/cpuidle-t3.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/cpuidle-t3.c b/arch/arm/mach-tegra/cpuidle-t3.c
index c132107a718e..c6a50a542d8c 100644
--- a/arch/arm/mach-tegra/cpuidle-t3.c
+++ b/arch/arm/mach-tegra/cpuidle-t3.c
@@ -331,6 +331,7 @@ static void tegra3_idle_enter_lp2_cpu_n(struct cpuidle_device *dev,
ktime_t entry_time;
struct tegra_twd_context twd_context;
bool sleep_completed = false;
+ struct tick_sched *ts = tick_get_tick_sched(dev->cpu);
if (!tegra_twd_get_state(&twd_context)) {
unsigned long twd_rate = clk_get_rate(twd_clk);
@@ -351,7 +352,8 @@ static void tegra3_idle_enter_lp2_cpu_n(struct cpuidle_device *dev,
}
if (!tegra_is_lp2_timer_ready(dev->cpu) ||
- (request < state->target_residency)) {
+ (request < state->target_residency) ||
+ (!ts) || (ts->nohz_mode == NOHZ_MODE_INACTIVE)) {
/*
* Not enough time left to enter LP2, or wake timer not ready
*/