diff --git a/net/ipv4/tcp_input.c b/net/ipv4/tcp_input.c
index bb326684495bc3af0cee5d2b580d5f79b7e9e9c9..36e069a1f47bbafc42fe3960bfcdd085f8eebd03 100644
--- a/net/ipv4/tcp_input.c
+++ b/net/ipv4/tcp_input.c
@@ -5969,7 +5969,8 @@ int tcp_rcv_state_process(struct sock *sk, struct sk_buff *skb,
 
 		if (tcp_check_req(sk, skb, req, NULL, true) == NULL)
 			goto discard;
-	} else if (!tcp_validate_incoming(sk, skb, th, 0))
+	}
+	if (!tcp_validate_incoming(sk, skb, th, 0))
 		return 0;
 
 	/* step 5: check the ACK field */