Эх сурвалжийг харах

qcacmn: Remove csum_enabled flag check

Currently, to set checksum enable flags in Tx descriptor
we are checking the csum_enabled flag along with stack checksum
offload request. In case of roaming from latency-critical connection
to non-latency critical connection we request stack to calculate
checksum and set csum_enabled flag to 0. For some packets which
are already queued where the stack has not calculated checksum and
csum_enabled flag is set to 0, we will not set the checksum enable
flags in Tx descriptors for those packets.

To fix the issue remove the csum_enabled flag check and directly
check if the stack has calculated checksum for those packets or not.

Change-Id: I8d7754afc3d0a33315b85b0113cd3062e5783e28
CRs-Fixed: 3070858
Amit Mehta 3 жил өмнө
parent
commit
eaa0e3776e

+ 4 - 4
dp/wifi3.0/be/dp_be_tx.c

@@ -1,5 +1,6 @@
 /*
  * Copyright (c) 2016-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2021 Qualcomm Innovation Center, Inc. All rights reserved.
  *
  * Permission to use, copy, modify, and/or distribute this software for
  * any purpose with or without fee is hereby granted, provided that the
@@ -207,10 +208,9 @@ dp_tx_hw_enqueue_be(struct dp_soc *soc, struct dp_vdev *vdev,
 		hal_tx_desc_set_to_fw(hal_tx_desc_cached, 1);
 
 	/* verify checksum offload configuration*/
-	if (vdev->csum_enabled &&
-	    ((qdf_nbuf_get_tx_cksum(tx_desc->nbuf) ==
-					QDF_NBUF_TX_CKSUM_TCP_UDP) ||
-	      qdf_nbuf_is_tso(tx_desc->nbuf))) {
+	if ((qdf_nbuf_get_tx_cksum(tx_desc->nbuf) ==
+				   QDF_NBUF_TX_CKSUM_TCP_UDP) ||
+	      qdf_nbuf_is_tso(tx_desc->nbuf)) {
 		hal_tx_desc_set_l3_checksum_en(hal_tx_desc_cached, 1);
 		hal_tx_desc_set_l4_checksum_en(hal_tx_desc_cached, 1);
 	}

+ 3 - 4
dp/wifi3.0/li/dp_li_tx.c

@@ -201,10 +201,9 @@ dp_tx_hw_enqueue_li(struct dp_soc *soc, struct dp_vdev *vdev,
 		hal_tx_desc_set_to_fw(hal_tx_desc_cached, 1);
 
 	/* verify checksum offload configuration*/
-	if (vdev->csum_enabled &&
-	    ((qdf_nbuf_get_tx_cksum(tx_desc->nbuf) ==
-	      QDF_NBUF_TX_CKSUM_TCP_UDP) ||
-	      qdf_nbuf_is_tso(tx_desc->nbuf)))  {
+	if ((qdf_nbuf_get_tx_cksum(tx_desc->nbuf) ==
+				   QDF_NBUF_TX_CKSUM_TCP_UDP) ||
+	      qdf_nbuf_is_tso(tx_desc->nbuf))  {
 		hal_tx_desc_set_l3_checksum_en(hal_tx_desc_cached, 1);
 		hal_tx_desc_set_l4_checksum_en(hal_tx_desc_cached, 1);
 	}