This is a note to let you know that I have just added a patch titled
tick-common: Fix wrong check in tick_check_replacement()
to the linux-3.13.y-queue branch of the 3.13.y.z extended stable tree which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git%3Ba=shortlog%3Bh=refs/heads/...
This patch is scheduled to be released in version 3.13.11.3.
If you, or anyone else, feels it should not be added to this tree, please reply to this email.
For more information about the 3.13.y.z tree, see https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks. -Kamal
------
From a7a150dca33ba90ecf23eb27b055c1a3267cb263 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()
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... Signed-off-by: Thomas Gleixner tglx@linutronix.de Signed-off-by: Kamal Mostafa kamal@canonical.com --- kernel/time/tick-common.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/kernel/time/tick-common.c b/kernel/time/tick-common.c index 162b03a..425bfae 100644 --- a/kernel/time/tick-common.c +++ b/kernel/time/tick-common.c @@ -275,7 +275,7 @@ static bool tick_check_preferred(struct clock_event_device *curdev, 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); -- 1.9.1