Commit 43003f5a authored by Stephen Rothwell's avatar Stephen Rothwell

Merge commit 'asm-generic/next'

parents f74a6485 428bc597
......@@ -37,7 +37,8 @@
#include <asm/byteorder.h>
static inline unsigned short from32to16(unsigned long x)
#ifndef do_csum
static inline unsigned short from32to16(unsigned int x)
{
/* add up 16-bit and 16-bit for 16+c bit */
x = (x & 0xffff) + (x >> 16);
......@@ -49,16 +50,16 @@ static inline unsigned short from32to16(unsigned long x)
static unsigned int do_csum(const unsigned char *buff, int len)
{
int odd, count;
unsigned long result = 0;
unsigned int result = 0;
if (len <= 0)
goto out;
odd = 1 & (unsigned long) buff;
if (odd) {
#ifdef __LITTLE_ENDIAN
result = *buff;
#else
result += (*buff << 8);
#else
result = *buff;
#endif
len--;
buff++;
......@@ -73,9 +74,9 @@ static unsigned int do_csum(const unsigned char *buff, int len)
}
count >>= 1; /* nr of 32-bit words.. */
if (count) {
unsigned long carry = 0;
unsigned int carry = 0;
do {
unsigned long w = *(unsigned int *) buff;
unsigned int w = *(unsigned int *) buff;
count--;
buff += 4;
result += carry;
......@@ -102,6 +103,7 @@ static unsigned int do_csum(const unsigned char *buff, int len)
out:
return result;
}
#endif
/*
* This is a version of ip_compute_csum() optimized for IP headers,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment