diff options
| -rw-r--r-- | lib/checksum.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/checksum.c b/lib/checksum.c index b2e2fd468461..886b48db4f28 100644 --- a/lib/checksum.c +++ b/lib/checksum.c | |||
| @@ -37,7 +37,7 @@ | |||
| 37 | 37 | ||
| 38 | #include <asm/byteorder.h> | 38 | #include <asm/byteorder.h> |
| 39 | 39 | ||
| 40 | static inline unsigned short from32to16(unsigned long x) | 40 | static inline unsigned short from32to16(unsigned int x) |
| 41 | { | 41 | { |
| 42 | /* add up 16-bit and 16-bit for 16+c bit */ | 42 | /* add up 16-bit and 16-bit for 16+c bit */ |
| 43 | x = (x & 0xffff) + (x >> 16); | 43 | x = (x & 0xffff) + (x >> 16); |
| @@ -49,7 +49,7 @@ static inline unsigned short from32to16(unsigned long x) | |||
| 49 | static unsigned int do_csum(const unsigned char *buff, int len) | 49 | static unsigned int do_csum(const unsigned char *buff, int len) |
| 50 | { | 50 | { |
| 51 | int odd, count; | 51 | int odd, count; |
| 52 | unsigned long result = 0; | 52 | unsigned int result = 0; |
| 53 | 53 | ||
| 54 | if (len <= 0) | 54 | if (len <= 0) |
| 55 | goto out; | 55 | goto out; |
| @@ -73,9 +73,9 @@ static unsigned int do_csum(const unsigned char *buff, int len) | |||
| 73 | } | 73 | } |
| 74 | count >>= 1; /* nr of 32-bit words.. */ | 74 | count >>= 1; /* nr of 32-bit words.. */ |
| 75 | if (count) { | 75 | if (count) { |
| 76 | unsigned long carry = 0; | 76 | unsigned int carry = 0; |
| 77 | do { | 77 | do { |
| 78 | unsigned long w = *(unsigned int *) buff; | 78 | unsigned int w = *(unsigned int *) buff; |
| 79 | count--; | 79 | count--; |
| 80 | buff += 4; | 80 | buff += 4; |
| 81 | result += carry; | 81 | result += carry; |
