From fe330245afff3e0f99c87e701703e6637e07efc5 Mon Sep 17 00:00:00 2001 From: Min Liu Date: Fri, 7 Sep 2018 16:31:20 +0800 Subject: [PATCH] qcacmn: Fix vdev ref issue in tdls_process_del_peer vdev ref is not released in some error path of tdls_process_del_peer, which will lead to vdev obj failed to be deleted. Change-Id: I439af4abbb4670d9252296b39d75eb435bb436fc CRs-Fixed: 2311161 --- umac/tdls/core/src/wlan_tdls_cmds_process.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/umac/tdls/core/src/wlan_tdls_cmds_process.c b/umac/tdls/core/src/wlan_tdls_cmds_process.c index 90805709fc6a..f5240e66b2fe 100644 --- a/umac/tdls/core/src/wlan_tdls_cmds_process.c +++ b/umac/tdls/core/src/wlan_tdls_cmds_process.c @@ -1141,7 +1141,7 @@ QDF_STATUS tdls_process_del_peer(struct tdls_oper_request *req) if (!req || !req->vdev) { tdls_err("req: %pK", req); status = QDF_STATUS_E_INVAL; - goto error; + goto free_req; } vdev = req->vdev; @@ -1213,6 +1213,8 @@ QDF_STATUS tdls_process_del_peer(struct tdls_oper_request *req) return status; error: status = tdls_internal_del_peer_rsp(req); + wlan_objmgr_vdev_release_ref(vdev, WLAN_TDLS_NB_ID); +free_req: qdf_mem_free(req); return status; }