From d961b63415f7b8ff91930daded3874d74ad2bfd0 Mon Sep 17 00:00:00 2001 From: Li Zhong Date: Fri, 23 Nov 2012 00:05:03 +0100 Subject: [PATCH] --- yaml --- r: 336736 b: refs/heads/master c: a093b93ee0e08cd73a07848752bc09ecea68cb13 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/cpuidle/governors/menu.c | 10 ++++++---- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/[refs] b/[refs] index a1c9460092cb..b772e4bb58eb 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: bf4d1b5ddb78f86078ac6ae0415802d5f0c68f92 +refs/heads/master: a093b93ee0e08cd73a07848752bc09ecea68cb13 diff --git a/trunk/drivers/cpuidle/governors/menu.c b/trunk/drivers/cpuidle/governors/menu.c index 2efee27714a0..bd40b943b6db 100644 --- a/trunk/drivers/cpuidle/governors/menu.c +++ b/trunk/drivers/cpuidle/governors/menu.c @@ -407,8 +407,9 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev) perfect_us = perfect_cstate_ms * 1000; if (repeat && (4 * timer_us < data->expected_us)) { - hrtimer_start(hrtmr, ns_to_ktime(1000 * timer_us), - HRTIMER_MODE_REL_PINNED); + RCU_NONIDLE(hrtimer_start(hrtmr, + ns_to_ktime(1000 * timer_us), + HRTIMER_MODE_REL_PINNED)); /* In repeat case, menu hrtimer is started */ per_cpu(hrtimer_status, cpu) = MENU_HRTIMER_REPEAT; } else if (perfect_us < data->expected_us) { @@ -418,8 +419,9 @@ static int menu_select(struct cpuidle_driver *drv, struct cpuidle_device *dev) * In that case, it makes sense to re-enter * into a deeper C-state after some time. */ - hrtimer_start(hrtmr, ns_to_ktime(1000 * timer_us), - HRTIMER_MODE_REL_PINNED); + RCU_NONIDLE(hrtimer_start(hrtmr, + ns_to_ktime(1000 * timer_us), + HRTIMER_MODE_REL_PINNED)); /* In general case, menu hrtimer is started */ per_cpu(hrtimer_status, cpu) = MENU_HRTIMER_GENERAL; }