qcacld-3.0: Remove target_lock from ce_pkt_dl_len_set
Download length should be set before messages are recieved, so
no race condition should exist.
Change-Id: I92de4b3c4077f23032df45ceca6e169616351b8b
CRs-Fixed: 941355
diff --git a/core/hif/src/ce/ce_service.c b/core/hif/src/ce/ce_service.c
index 14753d2..99afda9 100644
--- a/core/hif/src/ce/ce_service.c
+++ b/core/hif/src/ce/ce_service.c
@@ -500,8 +500,11 @@
/* get actual packet length */
frag_len = cdf_nbuf_get_frag_len(msdu, 1);
- shadow_src_desc->nbytes = frag_len > ce_state->download_len ?
- ce_state->download_len : frag_len;
+
+ /* only read download_len once */
+ shadow_src_desc->nbytes = ce_state->download_len;
+ if (shadow_src_desc->nbytes > frag_len)
+ shadow_src_desc->nbytes = frag_len;
/* Data packet is a byte stream, so disable byte swap */
shadow_src_desc->byte_swap = 0;
@@ -1569,9 +1572,7 @@
cdf_assert_always(ce_state);
- cdf_spin_lock_bh(&sc->target_lock);
ce_state->download_len = pkt_download_len;
- cdf_spin_unlock_bh(&sc->target_lock);
cdf_print("%s CE %d Pkt download length %d\n", __func__,
ce_state->id, ce_state->download_len);