msm: timer: use less strict time jump workaround

The current workaround for the time jumping bug uses three timer reads,
and fails unless t3-t2 equals t2-t1. It turns out that this is too
strict, and even given three consecutive ldr instructions, we cannot
read the timer at a consistent rate. So, be less strict, and only
guarantee that the times read are ordered.

This means that we read three times, see that t1 <= t2 <= t3, and return
t2 if that is true.

Change-Id: I9c4c15682e34f717abbc71850516d8f4a2f37ccb
Signed-off-by: Jeff Ohlstein <johlstei@codeaurora.org>
diff --git a/arch/arm/mach-msm/timer.c b/arch/arm/mach-msm/timer.c
index f076a10..90a1c7e 100644
--- a/arch/arm/mach-msm/timer.c
+++ b/arch/arm/mach-msm/timer.c
@@ -240,8 +240,8 @@
 			return t3;
 		if ((t2-t1) <= 1)
 			return t2;
-		if (((t3-t2) == (t2-t1)) && (t3-t2) <= 8)
-			return t3;
+		if ((t2 >= t1) && (t3 >= t2))
+			return t2;
 		if (++loop_count == 5) {
 			pr_err("msm_read_timer_count timer %s did not "
 			       "stabilize: %u -> %u -> %u\n",