diff options
Diffstat (limited to 'arch/x86_64/lib/delay.c')
-rw-r--r-- | arch/x86_64/lib/delay.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/x86_64/lib/delay.c b/arch/x86_64/lib/delay.c index 50be90975d04..2dbebd308347 100644 --- a/arch/x86_64/lib/delay.c +++ b/arch/x86_64/lib/delay.c | |||
@@ -40,13 +40,13 @@ EXPORT_SYMBOL(__delay); | |||
40 | 40 | ||
41 | inline void __const_udelay(unsigned long xloops) | 41 | inline void __const_udelay(unsigned long xloops) |
42 | { | 42 | { |
43 | __delay((xloops * HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy) >> 32); | 43 | __delay(((xloops * HZ * cpu_data[raw_smp_processor_id()].loops_per_jiffy) >> 32) + 1); |
44 | } | 44 | } |
45 | EXPORT_SYMBOL(__const_udelay); | 45 | EXPORT_SYMBOL(__const_udelay); |
46 | 46 | ||
47 | void __udelay(unsigned long usecs) | 47 | void __udelay(unsigned long usecs) |
48 | { | 48 | { |
49 | __const_udelay(usecs * 0x000010c6); /* 2**32 / 1000000 */ | 49 | __const_udelay(usecs * 0x000010c7); /* 2**32 / 1000000 (rounded up) */ |
50 | } | 50 | } |
51 | EXPORT_SYMBOL(__udelay); | 51 | EXPORT_SYMBOL(__udelay); |
52 | 52 | ||