diff options
author | Yoshinori Sato <ysato@users.sourceforge.jp> | 2015-12-05 02:48:15 +0900 |
---|---|---|
committer | Daniel Lezcano <daniel.lezcano@linaro.org> | 2015-12-16 11:33:31 +0100 |
commit | 2f445e0aa00e3bdbcf6e99b88a6aab54b6b02f2a (patch) | |
tree | 75f3b7ee1c436fc7cf0a7e1180263201cc7e0f68 /drivers/clocksource/h8300_timer16.c | |
parent | 2a0ff87774e468e4b146fe5af9ffadf5169424f9 (diff) | |
download | linux-2f445e0aa00e3bdbcf6e99b88a6aab54b6b02f2a.tar.bz2 |
clocksource/drivers/h8300: Fix timer not overflow case
Signed-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Diffstat (limited to 'drivers/clocksource/h8300_timer16.c')
-rw-r--r-- | drivers/clocksource/h8300_timer16.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/clocksource/h8300_timer16.c b/drivers/clocksource/h8300_timer16.c index b14a8da90ecc..934ed0bceec5 100644 --- a/drivers/clocksource/h8300_timer16.c +++ b/drivers/clocksource/h8300_timer16.c @@ -48,8 +48,10 @@ static unsigned long timer16_get_counter(struct timer16_priv *p) } while (unlikely((o1 != o2) || (v1 > v2 && v1 < v3) || (v2 > v3 && v2 < v1) || (v3 > v1 && v3 < v2))); - v2 |= 0x10000; - return v2; + if (likely(!o1)) + return v2; + else + return v2 + 0x10000; } |