diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c
index c3dcec5efea58b5004c25a28ebc9fc2d4a4e3503..0fb8b441f1f9bf2c48a17a846ca054956e081276 100644
--- a/net/ipv4/tcp.c
+++ b/net/ipv4/tcp.c
@@ -2570,7 +2570,7 @@ struct sk_buff **tcp_gro_receive(struct sk_buff **head, struct sk_buff *skb)
 	flush |= (flags ^ tcp_flag_word(th2)) &
 		  ~(TCP_FLAG_CWR | TCP_FLAG_FIN | TCP_FLAG_PSH);
 	flush |= th->ack_seq ^ th2->ack_seq;
-	for (i = sizeof(*th); !flush && i < thlen; i += 4)
+	for (i = sizeof(*th); i < thlen; i += 4)
 		flush |= *(u32 *)((u8 *)th + i) ^
 			 *(u32 *)((u8 *)th2 + i);