| From 521c42990e9d561ed5ed9f501f07639d0512b3c9 Mon Sep 17 00:00:00 2001 |
| From: Viresh Kumar <viresh.kumar@linaro.org> |
| Date: Tue, 15 Apr 2014 10:54:37 +0530 |
| Subject: tick-common: Fix wrong check in tick_check_replacement() |
| |
| From: Viresh Kumar <viresh.kumar@linaro.org> |
| |
| commit 521c42990e9d561ed5ed9f501f07639d0512b3c9 upstream. |
| |
| tick_check_replacement() returns if a replacement of clock_event_device is |
| possible or not. It does this as the first check: |
| |
| if (tick_check_percpu(curdev, newdev, smp_processor_id())) |
| return false; |
| |
| Thats wrong. tick_check_percpu() returns true when the device is |
| useable. Check for false instead. |
| |
| [ tglx: Massaged changelog ] |
| |
| Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> |
| Cc: linaro-kernel@lists.linaro.org |
| Cc: fweisbec@gmail.com |
| Cc: Arvind.Chauhan@arm.com |
| Cc: linaro-networking@linaro.org |
| Link: http://lkml.kernel.org/r/486a02efe0246635aaba786e24b42d316438bf3b.1397537987.git.viresh.kumar@linaro.org |
| Signed-off-by: Thomas Gleixner <tglx@linutronix.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| kernel/time/tick-common.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/kernel/time/tick-common.c |
| +++ b/kernel/time/tick-common.c |
| @@ -276,7 +276,7 @@ static bool tick_check_preferred(struct |
| bool tick_check_replacement(struct clock_event_device *curdev, |
| struct clock_event_device *newdev) |
| { |
| - if (tick_check_percpu(curdev, newdev, smp_processor_id())) |
| + if (!tick_check_percpu(curdev, newdev, smp_processor_id())) |
| return false; |
| |
| return tick_check_preferred(curdev, newdev); |