RE: [PATCH] clocksource: imx-tpm: correct -ETIME return condition check

From: A.s. Dong
Date: Thu Apr 19 2018 - 03:14:51 EST


> -----Original Message-----
> From: Anson Huang
> Sent: Thursday, April 19, 2018 2:05 PM
> To: daniel.lezcano@xxxxxxxxxx; tglx@xxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx
> Cc: dl-linux-imx <linux-imx@xxxxxxx>
> Subject: [PATCH] clocksource: imx-tpm: correct -ETIME return condition
> check
>
> The additional brakets 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..
>
> This patch removes the additional brakets to make sure
> tpm_set_next_event always returns correct value.
>
> Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx>

It's my mistake. Thanks for spotting it out.

Acked-by: Dong Aisheng <Aisheng.dong@xxxxxxx>

Regards
Dong Aisheng

> ---
> resend, since I got failure message of sending mail to linux-
> kernel@xxxxxxxxxxxxxxxx
> 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 05d97a6..6c83184 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)
> --
> 2.7.4