switch (sk->sk_state) {
        case TCP_SYN_RECV:
-               if (acceptable) {
-                       /* Once we leave TCP_SYN_RECV, we no longer
-                        * need req so release it.
-                        */
-                       if (req) {
-                               tcp_synack_rtt_meas(sk, req);
-                               tp->total_retrans = req->num_retrans;
+               if (!acceptable)
+                       return 1;
 
-                               reqsk_fastopen_remove(sk, req, false);
-                       } else {
-                               /* Make sure socket is routed, for
-                                * correct metrics.
-                                */
-                               icsk->icsk_af_ops->rebuild_header(sk);
-                               tcp_init_congestion_control(sk);
+               /* Once we leave TCP_SYN_RECV, we no longer need req
+                * so release it.
+                */
+               if (req) {
+                       tcp_synack_rtt_meas(sk, req);
+                       tp->total_retrans = req->num_retrans;
 
-                               tcp_mtup_init(sk);
-                               tcp_init_buffer_space(sk);
-                               tp->copied_seq = tp->rcv_nxt;
-                       }
-                       smp_mb();
-                       tcp_set_state(sk, TCP_ESTABLISHED);
-                       sk->sk_state_change(sk);
-
-                       /* Note, that this wakeup is only for marginal
-                        * crossed SYN case. Passively open sockets
-                        * are not waked up, because sk->sk_sleep ==
-                        * NULL and sk->sk_socket == NULL.
-                        */
-                       if (sk->sk_socket)
-                               sk_wake_async(sk, SOCK_WAKE_IO, POLL_OUT);
-
-                       tp->snd_una = TCP_SKB_CB(skb)->ack_seq;
-                       tp->snd_wnd = ntohs(th->window) <<
-                                       tp->rx_opt.snd_wscale;
-                       tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
-
-                       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);
-                       } else
-                               tcp_init_metrics(sk);
+                       reqsk_fastopen_remove(sk, req, false);
+               } else {
+                       /* Make sure socket is routed, for correct metrics. */
+                       icsk->icsk_af_ops->rebuild_header(sk);
+                       tcp_init_congestion_control(sk);
+
+                       tcp_mtup_init(sk);
+                       tcp_init_buffer_space(sk);
+                       tp->copied_seq = tp->rcv_nxt;
+               }
+               smp_mb();
+               tcp_set_state(sk, TCP_ESTABLISHED);
+               sk->sk_state_change(sk);
 
-                       /* Prevent spurious tcp_cwnd_restart() on
-                        * first data packet.
+               /* Note, that this wakeup is only for marginal crossed SYN case.
+                * Passively open sockets are not waked up, because
+                * sk->sk_sleep == NULL and sk->sk_socket == NULL.
+                */
+               if (sk->sk_socket)
+                       sk_wake_async(sk, SOCK_WAKE_IO, POLL_OUT);
+
+               tp->snd_una = TCP_SKB_CB(skb)->ack_seq;
+               tp->snd_wnd = ntohs(th->window) << tp->rx_opt.snd_wscale;
+               tcp_init_wl(tp, TCP_SKB_CB(skb)->seq);
+
+               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.
                         */
-                       tp->lsndtime = tcp_time_stamp;
+                       tcp_rearm_rto(sk);
+               } else
+                       tcp_init_metrics(sk);
 
-                       tcp_initialize_rcv_mss(sk);
-                       tcp_fast_path_on(tp);
-               } else {
-                       return 1;
-               }
+               /* Prevent spurious tcp_cwnd_restart() on first data packet */
+               tp->lsndtime = tcp_time_stamp;
+
+               tcp_initialize_rcv_mss(sk);
+               tcp_fast_path_on(tp);
                break;
 
        case TCP_FIN_WAIT1: