diff options
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 53f270995d8a..394bc54c5c21 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -105,10 +105,10 @@ static void tcp_v6_hash(struct sock *sk) | |||
105 | } | 105 | } |
106 | } | 106 | } |
107 | 107 | ||
108 | static __inline__ u16 tcp_v6_check(struct tcphdr *th, int len, | 108 | static __inline__ __sum16 tcp_v6_check(struct tcphdr *th, int len, |
109 | struct in6_addr *saddr, | 109 | struct in6_addr *saddr, |
110 | struct in6_addr *daddr, | 110 | struct in6_addr *daddr, |
111 | unsigned long base) | 111 | __wsum base) |
112 | { | 112 | { |
113 | return csum_ipv6_magic(saddr, daddr, len, IPPROTO_TCP, base); | 113 | return csum_ipv6_magic(saddr, daddr, len, IPPROTO_TCP, base); |
114 | } | 114 | } |
@@ -1537,8 +1537,8 @@ static int tcp_v6_checksum_init(struct sk_buff *skb) | |||
1537 | } | 1537 | } |
1538 | } | 1538 | } |
1539 | 1539 | ||
1540 | skb->csum = ~tcp_v6_check(skb->h.th,skb->len,&skb->nh.ipv6h->saddr, | 1540 | skb->csum = ~csum_unfold(tcp_v6_check(skb->h.th,skb->len,&skb->nh.ipv6h->saddr, |
1541 | &skb->nh.ipv6h->daddr, 0); | 1541 | &skb->nh.ipv6h->daddr, 0)); |
1542 | 1542 | ||
1543 | if (skb->len <= 76) { | 1543 | if (skb->len <= 76) { |
1544 | return __skb_checksum_complete(skb); | 1544 | return __skb_checksum_complete(skb); |