if (req) {
                        inet_csk(sk)->icsk_retransmits = 0;
                        reqsk_fastopen_remove(sk, req, false);
+                       /* Re-arm the timer because data may have been sent out.
+                        * This is similar to the regular data transmission case
+                        * when new data has just been ack'ed.
+                        *
+                        * (TFO) - we could try to be more aggressive and
+                        * retransmitting any data sooner based on when they
+                        * are sent out.
+                        */
+                       tcp_rearm_rto(sk);
                } else {
                        tcp_init_transfer(sk, BPF_SOCK_OPS_PASSIVE_ESTABLISHED_CB);
                        tp->copied_seq = tp->rcv_nxt;
                if (tp->rx_opt.tstamp_ok)
                        tp->advmss -= TCPOLEN_TSTAMP_ALIGNED;
 
-               if (req) {
-                       /* Re-arm the timer because data may have been sent out.
-                        * This is similar to the regular data transmission case
-                        * when new data has just been ack'ed.
-                        *
-                        * (TFO) - we could try to be more aggressive and
-                        * retransmitting any data sooner based on when they
-                        * are sent out.
-                        */
-                       tcp_rearm_rto(sk);
-               }
-
                if (!inet_csk(sk)->icsk_ca_ops->cong_control)
                        tcp_update_pacing_rate(sk);