diff options
Diffstat (limited to 'net/ipv4/udp.c')
| -rw-r--r-- | net/ipv4/udp.c | 5 | 
1 files changed, 5 insertions, 0 deletions
| diff --git a/net/ipv4/udp.c b/net/ipv4/udp.c index bfaefe560b5c..e5ef7c38c934 100644 --- a/net/ipv4/udp.c +++ b/net/ipv4/udp.c @@ -2024,6 +2024,11 @@ static inline int udp4_csum_init(struct sk_buff *skb, struct udphdr *uh,  		err = udplite_checksum_init(skb, uh);  		if (err)  			return err; + +		if (UDP_SKB_CB(skb)->partial_cov) { +			skb->csum = inet_compute_pseudo(skb, proto); +			return 0; +		}  	}  	/* Note, we are only interested in != 0 or == 0, thus the |