浏览代码

qcacmn: Fix ast table memory leak

Free ast table memory during detach

Change-Id: I4a8c9987727c6b47d39d2486f079d3a8da744e90
CRs-Fixed: 3082609
Jeevan Kukkalli 3 年之前
父节点
当前提交
5afdccab42
共有 1 个文件被更改,包括 8 次插入5 次删除
  1. 8 5
      dp/wifi3.0/li/dp_li.c

+ 8 - 5
dp/wifi3.0/li/dp_li.c

@@ -111,6 +111,7 @@ static QDF_STATUS dp_vdev_detach_li(struct dp_soc *soc, struct dp_vdev *vdev)
 static void dp_peer_detach_li(struct dp_soc *soc)
 {
 	dp_soc_wds_detach(soc);
+	dp_peer_ast_table_detach(soc);
 	dp_peer_ast_hash_detach(soc);
 	dp_peer_mec_hash_detach(soc);
 }
@@ -121,17 +122,19 @@ static QDF_STATUS dp_peer_attach_li(struct dp_soc *soc)
 
 	status = dp_peer_ast_table_attach(soc);
 	if (!QDF_IS_STATUS_SUCCESS(status))
-		goto hash_detach;
+		return status;
 
 	status = dp_peer_ast_hash_attach(soc);
 	if (!QDF_IS_STATUS_SUCCESS(status))
 		goto ast_table_detach;
 
 	status = dp_peer_mec_hash_attach(soc);
-	if (QDF_IS_STATUS_SUCCESS(status)) {
-		dp_soc_wds_attach(soc);
-		return status;
-	}
+	if (!QDF_IS_STATUS_SUCCESS(status))
+		goto hash_detach;
+
+	dp_soc_wds_attach(soc);
+
+	return QDF_STATUS_SUCCESS;
 
 hash_detach:
 	dp_peer_ast_hash_detach(soc);