diff options
Diffstat (limited to 'arch/x86_64/lib')
-rw-r--r-- | arch/x86_64/lib/csum-partial.c | 4 | ||||
-rw-r--r-- | arch/x86_64/lib/delay.c | 4 |
2 files changed, 3 insertions, 5 deletions
diff --git a/arch/x86_64/lib/csum-partial.c b/arch/x86_64/lib/csum-partial.c index 06ae630de82b..bc503f506903 100644 --- a/arch/x86_64/lib/csum-partial.c +++ b/arch/x86_64/lib/csum-partial.c | |||
@@ -9,8 +9,6 @@ | |||
9 | #include <linux/module.h> | 9 | #include <linux/module.h> |
10 | #include <asm/checksum.h> | 10 | #include <asm/checksum.h> |
11 | 11 | ||
12 | #define __force_inline inline __attribute__((always_inline)) | ||
13 | |||
14 | static inline unsigned short from32to16(unsigned a) | 12 | static inline unsigned short from32to16(unsigned a) |
15 | { | 13 | { |
16 | unsigned short b = a >> 16; | 14 | unsigned short b = a >> 16; |
@@ -33,7 +31,7 @@ static inline unsigned short from32to16(unsigned a) | |||
33 | * Unrolling to an 128 bytes inner loop. | 31 | * Unrolling to an 128 bytes inner loop. |
34 | * Using interleaving with more registers to break the carry chains. | 32 | * Using interleaving with more registers to break the carry chains. |
35 | */ | 33 | */ |
36 | static __force_inline unsigned do_csum(const unsigned char *buff, unsigned len) | 34 | static unsigned do_csum(const unsigned char *buff, unsigned len) |
37 | { | 35 | { |
38 | unsigned odd, count; | 36 | unsigned odd, count; |
39 | unsigned long result = 0; | 37 | unsigned long result = 0; |
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 | ||