Просмотр исходного кода

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 лет назад
Родитель
Сommit
bc43c8213e
1 измененных файлов с 2 добавлено и 2 удалено
  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;