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 | |
| 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>
| -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 */ |
