arch/alpha/kernel/traps.c: use time_* macros

The functions time_before, time_before_eq, time_after, and time_after_eq are
more robust for comparing jiffies against other values.

So implement usage of the time_after() macro, defined in linux/jiffies.h,
which deals with wrapping correctly

[akpm@linux-foundation.org: fix warning]
Signed-off-by: S.Caglar Onur <caglar@pardus.org.tr>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
S.Caglar Onur
2008-04-28 02:13:47 -07:00
committed by Linus Torvalds
parent 95d193a903
commit 037f436f52

View File

@@ -8,6 +8,7 @@
* This file initializes the trap entry points * This file initializes the trap entry points
*/ */
#include <linux/jiffies.h>
#include <linux/mm.h> #include <linux/mm.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/tty.h> #include <linux/tty.h>
@@ -770,7 +771,7 @@ do_entUnaUser(void __user * va, unsigned long opcode,
unsigned long reg, struct pt_regs *regs) unsigned long reg, struct pt_regs *regs)
{ {
static int cnt = 0; static int cnt = 0;
static long last_time = 0; static unsigned long last_time;
unsigned long tmp1, tmp2, tmp3, tmp4; unsigned long tmp1, tmp2, tmp3, tmp4;
unsigned long fake_reg, *reg_addr = &fake_reg; unsigned long fake_reg, *reg_addr = &fake_reg;
@@ -781,7 +782,7 @@ do_entUnaUser(void __user * va, unsigned long opcode,
with the unaliged access. */ with the unaliged access. */
if (!test_thread_flag (TIF_UAC_NOPRINT)) { if (!test_thread_flag (TIF_UAC_NOPRINT)) {
if (cnt >= 5 && jiffies - last_time > 5*HZ) { if (cnt >= 5 && time_after(jiffies, last_time + 5 * HZ)) {
cnt = 0; cnt = 0;
} }
if (++cnt < 5) { if (++cnt < 5) {