summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPoddar, Siddarth <siddpodd@codeaurora.org>2017-01-16 14:43:27 +0530
committerqcabuildsw <qcabuildsw@localhost>2017-01-18 02:20:53 -0800
commit597ee2178a8144fd6d9123ab51bccff548ef5b9f (patch)
tree359786c16e885c59d5652932b45b07e3d9127bed
parent69043ac31f357a16b61cfb1eef6f76557764e70e (diff)
qcacld-3.0: Add TSO magic cookie and freelist flag to last tso element
Fix to add TSO magic cookie and freelist flag to last tso element during ol_tso_seg_list_init() to avoid any crash during wifi off. CRs-Fixed: 1111760 Change-Id: I4504a7f4e9ecfe99337a4f544bc2d3cc8a8c3a27
-rw-r--r--core/dp/txrx/ol_tx.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/core/dp/txrx/ol_tx.c b/core/dp/txrx/ol_tx.c
index 159846b98506..3edea3cb49ab 100644
--- a/core/dp/txrx/ol_tx.c
+++ b/core/dp/txrx/ol_tx.c
@@ -1923,6 +1923,8 @@ void ol_tso_seg_list_init(struct ol_txrx_pdev_t *pdev, uint32_t num_seg)
struct qdf_tso_seg_elem_t *c_element;
c_element = qdf_mem_malloc(sizeof(struct qdf_tso_seg_elem_t));
+ c_element->on_freelist = 1;
+ c_element->cookie = TSO_SEG_MAGIC_COOKIE;
pdev->tso_seg_pool.freelist = c_element;
for (i = 0; i < (num_seg - 1); i++) {
if (qdf_unlikely(!c_element)) {
@@ -1935,11 +1937,11 @@ void ol_tso_seg_list_init(struct ol_txrx_pdev_t *pdev, uint32_t num_seg)
return;
}
/* set the freelist bit and magic cookie*/
- c_element->on_freelist = 1;
- c_element->cookie = TSO_SEG_MAGIC_COOKIE;
c_element->next =
qdf_mem_malloc(sizeof(struct qdf_tso_seg_elem_t));
c_element = c_element->next;
+ c_element->on_freelist = 1;
+ c_element->cookie = TSO_SEG_MAGIC_COOKIE;
c_element->next = NULL;
}
pdev->tso_seg_pool.pool_size = num_seg;