aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ipv4/tcp.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index 168f9de906bc..a6b228914b8e 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -463,11 +463,12 @@ static inline int forced_push(struct tcp_sock *tp)
463static inline void skb_entail(struct sock *sk, struct tcp_sock *tp, 463static inline void skb_entail(struct sock *sk, struct tcp_sock *tp,
464 struct sk_buff *skb) 464 struct sk_buff *skb)
465{ 465{
466 skb->csum = 0; 466 struct tcp_skb_cb *tcb = TCP_SKB_CB(skb);
467 TCP_SKB_CB(skb)->seq = tp->write_seq; 467
468 TCP_SKB_CB(skb)->end_seq = tp->write_seq; 468 skb->csum = 0;
469 TCP_SKB_CB(skb)->flags = TCPCB_FLAG_ACK; 469 tcb->seq = tcb->end_seq = tp->write_seq;
470 TCP_SKB_CB(skb)->sacked = 0; 470 tcb->flags = TCPCB_FLAG_ACK;
471 tcb->sacked = 0;
471 skb_header_release(skb); 472 skb_header_release(skb);
472 __skb_queue_tail(&sk->sk_write_queue, skb); 473 __skb_queue_tail(&sk->sk_write_queue, skb);
473 sk_charge_skb(sk, skb); 474 sk_charge_skb(sk, skb);