Pārlūkot izejas kodu

core: Update condition for identifying TCP ACKs

The current condition only looks for packets which have only the ACK flag set.
This can cause SYN ACKs to get stuck behind other queued data.
This potentially manifests as delayed TCP connection setup.

Update the condition to allow all control packets through.

CRs-Fixed: 3001492
Change-Id: I0baab53bf4226eb891919040ee1c37c7b17d2910
Signed-off-by: Subash Abhinov Kasiviswanathan <[email protected]>
Subash Abhinov Kasiviswanathan 3 gadi atpakaļ
vecāks
revīzija
bc43c8213e
1 mainītis faili ar 2 papildinājumiem un 2 dzēšanām
  1. 2 2
      core/qmi_rmnet.c

+ 2 - 2
core/qmi_rmnet.c

@@ -1033,8 +1033,8 @@ static bool _qmi_rmnet_is_tcp_ack(struct sk_buff *skb)
 	}
 
 	th = (struct tcphdr *)(skb->data + ip_hdr_len);
-	if ((ip_payload_len == th->doff << 2) &&
-	    ((tcp_flag_word(th) & cpu_to_be32(0x00FF0000)) == TCP_FLAG_ACK))
+	/* no longer looking for ACK flag */
+	if (ip_payload_len == th->doff << 2)
 		return true;
 
 	return false;