diff options
| author | Poddar, Siddarth <siddpodd@codeaurora.org> | 2017-01-16 14:43:27 +0530 |
|---|---|---|
| committer | qcabuildsw <qcabuildsw@localhost> | 2017-01-18 02:20:53 -0800 |
| commit | 597ee2178a8144fd6d9123ab51bccff548ef5b9f (patch) | |
| tree | 359786c16e885c59d5652932b45b07e3d9127bed | |
| parent | 69043ac31f357a16b61cfb1eef6f76557764e70e (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.c | 6 |
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; |
