瀏覽代碼

qcacld-3.0: use adaptive method to cleanup qdf list

It just enumerates qdf list but do not remove element when cleanup
vdev response queue or hold request queue in wma layer, which cause
element duplicate free. Use adaptive method to cleanup them.

Change-Id: I85f71252c6452d31649295cb13aa0eeef2323b5a
CRs-Fixed: 2073394
Wu Gao 8 年之前
父節點
當前提交
1eabdb6027
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      core/wma/src/wma_main.c

+ 2 - 2
core/wma/src/wma_main.c

@@ -1732,7 +1732,7 @@ static void wma_cleanup_vdev_resp_queue(tp_wma_handle wma)
 		return;
 	}
 
-	while (qdf_list_peek_front(&wma->vdev_resp_queue, &node1) ==
+	while (qdf_list_remove_front(&wma->vdev_resp_queue, &node1) ==
 				   QDF_STATUS_SUCCESS) {
 		req_msg = qdf_container_of(node1, struct wma_target_req, node);
 		qdf_spin_unlock_bh(&wma->vdev_respq_lock);
@@ -1762,7 +1762,7 @@ static void wma_cleanup_hold_req(tp_wma_handle wma)
 	}
 
 	while (QDF_STATUS_SUCCESS ==
-			qdf_list_peek_front(&wma->wma_hold_req_queue, &node1)) {
+		qdf_list_remove_front(&wma->wma_hold_req_queue, &node1)) {
 		req_msg = qdf_container_of(node1, struct wma_target_req, node);
 		qdf_spin_unlock_bh(&wma->wma_hold_req_q_lock);
 		/* Cleanup timeout handler */