Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 891d13d6 authored by Wu Gao's avatar Wu Gao Committed by nshrivas
Browse files

qcacmn: Check mgmt txrx desc element status before put to free list

To avoid double add to free list, check mgmt txrx desc element status
firstly.

Change-Id: Ib8f6f719016e19a76cc4fd1007800abf59ebf872
CRs-Fixed: 2348587
parent fee5ebc4
Loading
Loading
Loading
Loading
+6 −0
Original line number Original line Diff line number Diff line
@@ -144,6 +144,12 @@ void wlan_mgmt_txrx_desc_put(


	desc = &mgmt_txrx_pdev_ctx->mgmt_desc_pool.pool[desc_id];
	desc = &mgmt_txrx_pdev_ctx->mgmt_desc_pool.pool[desc_id];
	qdf_spin_lock_bh(&mgmt_txrx_pdev_ctx->mgmt_desc_pool.desc_pool_lock);
	qdf_spin_lock_bh(&mgmt_txrx_pdev_ctx->mgmt_desc_pool.desc_pool_lock);
	if (!desc->in_use) {
		qdf_spin_unlock_bh(&mgmt_txrx_pdev_ctx->mgmt_desc_pool.
				   desc_pool_lock);
		mgmt_txrx_err("desc %d is freed", desc_id);
		return;
	}
	desc->in_use = false;
	desc->in_use = false;
	qdf_list_insert_front(&mgmt_txrx_pdev_ctx->mgmt_desc_pool.free_list,
	qdf_list_insert_front(&mgmt_txrx_pdev_ctx->mgmt_desc_pool.free_list,
			      &desc->entry);
			      &desc->entry);