qcacmn: Fix memory overrun issues in smartlog CE dump
Fix the memory over run by removing the extra "END" ascii print
as it overruns the available memory.
Tests Done:
Ran Pollux_ACFG_MIPS_3Radio_Channel_Change_120s_Rev_1.0.0.0 for ~20hrs
Ran PDT_Pollux_Reboot_Rev_1.0.0.1 for ~36hrs
Change-Id: Id71fe8c95a41369f55d53ece043a0b00e62c5d4f
diff --git a/hif/src/ce/ce_service.c b/hif/src/ce/ce_service.c
index 5d0e031..ed94b77 100644
--- a/hif/src/ce/ce_service.c
+++ b/hif/src/ce/ce_service.c
@@ -3092,7 +3092,6 @@
len = sizeof(struct CE_ring_state);
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- snprintf(buf_cur, available_buf, "END");
buf_cur = buf_init;
}
@@ -3110,8 +3109,6 @@
+ LOG_ID_SZ + sizeof(skb_cp_len);
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- buf_cur += snprintf(buf_cur, available_buf,
- "END");
buf_cur = buf_init;
}
qdf_mem_copy(buf_cur, src_desc,
@@ -3131,8 +3128,6 @@
len = sizeof(struct CE_src_desc) + LOG_ID_SZ;
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- buf_cur += snprintf(buf_cur, available_buf,
- "END");
buf_cur = buf_init;
}
qdf_mem_copy(buf_cur, src_desc,
@@ -3175,7 +3170,6 @@
len = sizeof(struct CE_ring_state);
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- snprintf(buf_cur, available_buf, "END");
buf_cur = buf_init;
}
@@ -3184,6 +3178,7 @@
for (entry = 0; entry < dest_ring->nentries; entry++) {
dest_desc = CE_DEST_RING_TO_DESC(dest_ring_base, entry);
+
nbuf = dest_ring->per_transfer_context[entry];
if (nbuf) {
uint32_t skb_len = qdf_nbuf_len(nbuf);
@@ -3194,8 +3189,6 @@
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- buf_cur += snprintf(buf_cur, available_buf,
- "END");
buf_cur = buf_init;
}
@@ -3214,8 +3207,6 @@
len = sizeof(struct CE_dest_desc) + LOG_ID_SZ;
available_buf = buf_sz - (buf_cur - buf_init);
if (available_buf < (len + GUARD_SPACE)) {
- buf_cur += snprintf(buf_cur, available_buf,
- "END");
buf_cur = buf_init;
}
qdf_mem_copy(buf_cur, dest_desc,
@@ -3251,8 +3242,6 @@
} else if (dest_ring) {
buf_cur = hif_log_dest_ce_dump(dest_ring, buf_cur,
buf_init, buf_sz, skb_sz);
- } else {
- qdf_print("Cannot print Ring for Unused CE%d\n", ce);
}
return buf_cur;