浏览代码

qcacmn: Fix potential nbuf memory leak if mmap fails

Make sure free the allocated nbuf if we fail to memory map it.

Change-Id: I90606ab088fc093b390644478bccc77f08800cd5
CRs-Fixed: 2142469
Manjunathappa Prakash 7 年之前
父节点
当前提交
6d2f46df2c
共有 1 个文件被更改,包括 2 次插入1 次删除
  1. 2 1
      dp/wifi3.0/dp_rx.c

+ 2 - 1
dp/wifi3.0/dp_rx.c

@@ -170,7 +170,8 @@ QDF_STATUS dp_rx_buffers_replenish(struct dp_soc *dp_soc, uint32_t mac_id,
 
 
 		ret = qdf_nbuf_map_single(dp_soc->osdev, rx_netbuf,
 		ret = qdf_nbuf_map_single(dp_soc->osdev, rx_netbuf,
 				    QDF_DMA_BIDIRECTIONAL);
 				    QDF_DMA_BIDIRECTIONAL);
-		if (ret == QDF_STATUS_E_FAILURE) {
+		if (qdf_unlikely(ret == QDF_STATUS_E_FAILURE)) {
+			qdf_nbuf_free(rx_netbuf);
 			DP_STATS_INC(dp_pdev, replenish.map_err, 1);
 			DP_STATS_INC(dp_pdev, replenish.map_err, 1);
 			continue;
 			continue;
 		}
 		}