|
@@ -84,10 +84,10 @@ ip_fast_csum(const void *iph, unsigned int ihl)
|
|
|
}
|
|
|
|
|
|
static inline __wsum
|
|
|
-csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
|
|
|
- unsigned short proto, __wsum sum)
|
|
|
+csum_tcpudp_nofold(__be32 saddr, __be32 daddr, __u32 len,
|
|
|
+ __u8 proto, __wsum sum)
|
|
|
{
|
|
|
- u32 lenprot = len | proto << 16;
|
|
|
+ u32 lenprot = len + proto;
|
|
|
if (__builtin_constant_p(sum) && sum == 0) {
|
|
|
__asm__(
|
|
|
"adds %0, %1, %2 @ csum_tcpudp_nofold0 \n\t"
|
|
@@ -121,8 +121,8 @@ csum_tcpudp_nofold(__be32 saddr, __be32 daddr, unsigned short len,
|
|
|
* returns a 16-bit checksum, already complemented
|
|
|
*/
|
|
|
static inline __sum16
|
|
|
-csum_tcpudp_magic(__be32 saddr, __be32 daddr, unsigned short len,
|
|
|
- unsigned short proto, __wsum sum)
|
|
|
+csum_tcpudp_magic(__be32 saddr, __be32 daddr, __u32 len,
|
|
|
+ __u8 proto, __wsum sum)
|
|
|
{
|
|
|
return csum_fold(csum_tcpudp_nofold(saddr, daddr, len, proto, sum));
|
|
|
}
|