ARM: hw/exynos4210_mct.c: Fix a bug which hangs Linux kernel.
authorStanislav Vorobiov <s.vorobiov@samsung.com>
Wed, 20 Jun 2012 08:30:49 +0000 (12:30 +0400)
committerEvgeny Voevodin <e.voevodin@samsung.com>
Fri, 22 Jun 2012 05:52:10 +0000 (09:52 +0400)
After some long period of time Linux kernel hanged due to
ptimer_get_count may return 0 before timer interrupt occurs,
thus, causing FRC to jump back in time

hw/exynos4210_mct.c

index 7474fcf..7a22b1f 100644 (file)
@@ -376,10 +376,6 @@ static uint64_t exynos4210_gfrc_get_count(Exynos4210MCTGT *s)
 {
     uint64_t count = 0;
     count = ptimer_get_count(s->ptimer_frc);
-    if (!count) {
-        /* Timer event was generated and s->reg.cnt holds adequate value */
-        return s->reg.cnt;
-    }
     count = s->count - count;
     return s->reg.cnt + count;
 }