diff options
Diffstat (limited to 'net/ipv4/ip_output.c')
-rw-r--r-- | net/ipv4/ip_output.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c index 308bdeac3455..1b9b6742ef77 100644 --- a/net/ipv4/ip_output.c +++ b/net/ipv4/ip_output.c | |||
@@ -680,7 +680,7 @@ ip_generic_getfrag(void *from, char *to, int offset, int len, int odd, struct sk | |||
680 | { | 680 | { |
681 | struct iovec *iov = from; | 681 | struct iovec *iov = from; |
682 | 682 | ||
683 | if (skb->ip_summed == CHECKSUM_HW) { | 683 | if (skb->ip_summed == CHECKSUM_PARTIAL) { |
684 | if (memcpy_fromiovecend(to, iov, offset, len) < 0) | 684 | if (memcpy_fromiovecend(to, iov, offset, len) < 0) |
685 | return -EFAULT; | 685 | return -EFAULT; |
686 | } else { | 686 | } else { |
@@ -736,7 +736,7 @@ static inline int ip_ufo_append_data(struct sock *sk, | |||
736 | /* initialize protocol header pointer */ | 736 | /* initialize protocol header pointer */ |
737 | skb->h.raw = skb->data + fragheaderlen; | 737 | skb->h.raw = skb->data + fragheaderlen; |
738 | 738 | ||
739 | skb->ip_summed = CHECKSUM_HW; | 739 | skb->ip_summed = CHECKSUM_PARTIAL; |
740 | skb->csum = 0; | 740 | skb->csum = 0; |
741 | sk->sk_sndmsg_off = 0; | 741 | sk->sk_sndmsg_off = 0; |
742 | } | 742 | } |
@@ -844,7 +844,7 @@ int ip_append_data(struct sock *sk, | |||
844 | length + fragheaderlen <= mtu && | 844 | length + fragheaderlen <= mtu && |
845 | rt->u.dst.dev->features & NETIF_F_ALL_CSUM && | 845 | rt->u.dst.dev->features & NETIF_F_ALL_CSUM && |
846 | !exthdrlen) | 846 | !exthdrlen) |
847 | csummode = CHECKSUM_HW; | 847 | csummode = CHECKSUM_PARTIAL; |
848 | 848 | ||
849 | inet->cork.length += length; | 849 | inet->cork.length += length; |
850 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && | 850 | if (((length > mtu) && (sk->sk_protocol == IPPROTO_UDP)) && |