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
This commit is contained in:

gecommit door
Madan Koyyalamudi

bovenliggende
cc7d98b794
commit
eaa0e3776e
@@ -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);
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
Verwijs in nieuw issue
Block a user