diff options
Diffstat (limited to 'net/ipv4/tcp_output.c')
| -rw-r--r-- | net/ipv4/tcp_output.c | 6 | 
1 files changed, 4 insertions, 2 deletions
diff --git a/net/ipv4/tcp_output.c b/net/ipv4/tcp_output.c index f181b78f238..2b7d71fb843 100644 --- a/net/ipv4/tcp_output.c +++ b/net/ipv4/tcp_output.c @@ -37,6 +37,7 @@  #include <net/tcp.h>  #include <linux/compiler.h> +#include <linux/gfp.h>  #include <linux/module.h>  /* People can turn this off for buggy TCP's found in printers etc. */ @@ -349,6 +350,7 @@ static inline void TCP_ECN_send(struct sock *sk, struct sk_buff *skb,   */  static void tcp_init_nondata_skb(struct sk_buff *skb, u32 seq, u8 flags)  { +	skb->ip_summed = CHECKSUM_PARTIAL;  	skb->csum = 0;  	TCP_SKB_CB(skb)->flags = flags; @@ -877,7 +879,7 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it,  	}  #endif -	icsk->icsk_af_ops->send_check(sk, skb->len, skb); +	icsk->icsk_af_ops->send_check(sk, skb);  	if (likely(tcb->flags & TCPCB_FLAG_ACK))  		tcp_event_ack_sent(sk, tcp_skb_pcount(skb)); @@ -888,7 +890,7 @@ static int tcp_transmit_skb(struct sock *sk, struct sk_buff *skb, int clone_it,  	if (after(tcb->end_seq, tp->snd_nxt) || tcb->seq == tcb->end_seq)  		TCP_INC_STATS(sock_net(sk), TCP_MIB_OUTSEGS); -	err = icsk->icsk_af_ops->queue_xmit(skb, 0); +	err = icsk->icsk_af_ops->queue_xmit(skb);  	if (likely(err <= 0))  		return err;  |