Socket state LAST_ACK should allow TSQ to send additional frames,
or else we rely on incoming ACKS or timers to send them.
Reported-by: Yuchung Cheng <ycheng@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Cc: Matt Mathis <mattmathis@google.com>
Cc: Mahesh Bandewar <maheshb@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
                if (!sock_owned_by_user(sk)) {
                        if ((1 << sk->sk_state) &
                            (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 |
-                            TCPF_CLOSING | TCPF_CLOSE_WAIT))
+                            TCPF_CLOSING | TCPF_CLOSE_WAIT | TCPF_LAST_ACK))
                                tcp_write_xmit(sk,
                                               tcp_current_mss(sk),
                                               0, 0,
        if (test_and_clear_bit(TSQ_OWNED, &tp->tsq_flags)) {
                if ((1 << sk->sk_state) &
                    (TCPF_ESTABLISHED | TCPF_FIN_WAIT1 |
-                    TCPF_CLOSING | TCPF_CLOSE_WAIT))
+                    TCPF_CLOSING | TCPF_CLOSE_WAIT | TCPF_LAST_ACK))
                        tcp_write_xmit(sk,
                                       tcp_current_mss(sk),
                                       0, 0,