diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2005-11-04 12:02:54 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2005-11-07 13:05:39 -0500 |
commit | a0f08209c685b4f7dccaf013da74e0e80986c477 (patch) | |
tree | 4226fd9fc00daa4db855ba5df0e12e990f55efe6 /include | |
parent | 53c2df2f4ebbc1d8231ca7cc13ac5381230888b1 (diff) |
Define MAX_UDELAY_MS
If HZ was 1000, mdelay(2) cause overflow on multiplication in
__udelay. We should define MAX_UDELAY_MS properly to prevent this.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-mips/delay.h | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/asm-mips/delay.h b/include/asm-mips/delay.h index 85435a8d4e52..48d00cccdafa 100644 --- a/include/asm-mips/delay.h +++ b/include/asm-mips/delay.h | |||
@@ -84,4 +84,13 @@ static inline void __udelay(unsigned long usecs, unsigned long lpj) | |||
84 | 84 | ||
85 | #define udelay(usecs) __udelay((usecs),__udelay_val) | 85 | #define udelay(usecs) __udelay((usecs),__udelay_val) |
86 | 86 | ||
87 | /* make sure "usecs *= ..." in udelay do not overflow. */ | ||
88 | #if HZ >= 1000 | ||
89 | #define MAX_UDELAY_MS 1 | ||
90 | #elif HZ <= 200 | ||
91 | #define MAX_UDELAY_MS 5 | ||
92 | #else | ||
93 | #define MAX_UDELAY_MS (1000 / HZ) | ||
94 | #endif | ||
95 | |||
87 | #endif /* _ASM_DELAY_H */ | 96 | #endif /* _ASM_DELAY_H */ |