tcp_init_buffer_space(sk);
 }
 
-static void tcp_tx_timestamp(struct sock *sk, u16 tsflags, struct sk_buff *skb)
+static void tcp_tx_timestamp(struct sock *sk, u16 tsflags)
 {
+       struct sk_buff *skb = tcp_write_queue_tail(sk);
+
        if (tsflags && skb) {
                struct skb_shared_info *shinfo = skb_shinfo(skb);
                struct tcp_skb_cb *tcb = TCP_SKB_CB(skb);
 
 out:
        if (copied) {
-               tcp_tx_timestamp(sk, sk->sk_tsflags, tcp_write_queue_tail(sk));
+               tcp_tx_timestamp(sk, sk->sk_tsflags);
                if (!(flags & MSG_SENDPAGE_NOTLAST))
                        tcp_push(sk, flags, mss_now, tp->nonagle, size_goal);
        }
 
 out:
        if (copied) {
-               tcp_tx_timestamp(sk, sockc.tsflags, tcp_write_queue_tail(sk));
+               tcp_tx_timestamp(sk, sockc.tsflags);
                tcp_push(sk, flags, mss_now, tp->nonagle, size_goal);
        }
 out_nopush: