[IPV6]: udp.c build fix
[powerpc.git] / net / ipv6 / udp.c
index e6e1f85..efa8950 100644 (file)
@@ -383,9 +383,10 @@ static inline int udp6_csum_init(struct sk_buff *skb, struct udphdr *uh)
                skb->ip_summed = CHECKSUM_UNNECESSARY;
 
        if (skb->ip_summed != CHECKSUM_UNNECESSARY)
-               skb->csum = ~csum_ipv6_magic(&skb->nh.ipv6h->saddr,
-                                            &skb->nh.ipv6h->daddr,
-                                            skb->len, IPPROTO_UDP, 0);
+               skb->csum = ~csum_unfold(csum_ipv6_magic(&skb->nh.ipv6h->saddr,
+                                                        &skb->nh.ipv6h->daddr,
+                                                        skb->len, IPPROTO_UDP,
+                                                        0));
 
        return (UDP_SKB_CB(skb)->partial_cov = 0);
 }
@@ -511,7 +512,7 @@ static int udp_v6_push_pending_frames(struct sock *sk, struct udp_sock *up)
        struct inet_sock *inet = inet_sk(sk);
        struct flowi *fl = &inet->cork.fl;
        int err = 0;
-       u32 csum = 0;
+       __wsum csum = 0;
 
        /* Grab the skbuff where UDP header space exists. */
        if ((skb = skb_peek(&sk->sk_write_queue)) == NULL)
@@ -535,7 +536,7 @@ static int udp_v6_push_pending_frames(struct sock *sk, struct udp_sock *up)
        uh->check = csum_ipv6_magic(&fl->fl6_src, &fl->fl6_dst,
                                    up->len, fl->proto, csum   );
        if (uh->check == 0)
-               uh->check = -1;
+               uh->check = CSUM_MANGLED_0;
 
        err = ip6_push_pending_frames(sk);
 out: