[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <tip-7407188489c62a7b5694bc75a6db2b82af94c9a5@git.kernel.org>
Date: Thu, 19 Apr 2018 04:25:13 -0700
From: tip-bot for Anson Huang <tipbot@...or.com>
To: linux-tip-commits@...r.kernel.org
Cc: tglx@...utronix.de, hpa@...or.com, Anson.Huang@....com,
linux-kernel@...r.kernel.org, Aisheng.dong@....com,
mingo@...nel.org
Subject: [tip:timers/urgent] clocksource/imx-tpm: Correct -ETIME return
condition check
Commit-ID: 7407188489c62a7b5694bc75a6db2b82af94c9a5
Gitweb: https://git.kernel.org/tip/7407188489c62a7b5694bc75a6db2b82af94c9a5
Author: Anson Huang <Anson.Huang@....com>
AuthorDate: Thu, 19 Apr 2018 14:04:43 +0800
Committer: Thomas Gleixner <tglx@...utronix.de>
CommitDate: Thu, 19 Apr 2018 13:21:35 +0200
clocksource/imx-tpm: Correct -ETIME return condition check
The additional brakects added to tpm_set_next_event's return value
computation causes (int) forced type conversion NOT taking effect, and the
incorrect value return will cause various system timer issue, like RCU
stall etc..
Remove the additional brackets to make sure tpm_set_next_event always
returns correct value.
Fixes: 059ab7b82eec ("clocksource/drivers/imx-tpm: Add imx tpm timer support")
Signed-off-by: Anson Huang <Anson.Huang@....com>
Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
Acked-by: Dong Aisheng <Aisheng.dong@....com>
Cc: stable@...r.kernel.org
Cc: daniel.lezcano@...aro.org
Cc: Linux-imx@....com
Link: https://lkml.kernel.org/r/1524117883-2484-1-git-send-email-Anson.Huang@nxp.com
---
drivers/clocksource/timer-imx-tpm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/clocksource/timer-imx-tpm.c b/drivers/clocksource/timer-imx-tpm.c
index 05d97a6871d8..6c8318470b48 100644
--- a/drivers/clocksource/timer-imx-tpm.c
+++ b/drivers/clocksource/timer-imx-tpm.c
@@ -114,7 +114,7 @@ static int tpm_set_next_event(unsigned long delta,
* of writing CNT registers which may cause the min_delta event got
* missed, so we need add a ETIME check here in case it happened.
*/
- return (int)((next - now) <= 0) ? -ETIME : 0;
+ return (int)(next - now) <= 0 ? -ETIME : 0;
}
static int tpm_set_state_oneshot(struct clock_event_device *evt)
Powered by blists - more mailing lists