فهرست منبع

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
Min Liu 6 سال پیش
والد
کامیت
fe330245af
1فایلهای تغییر یافته به همراه3 افزوده شده و 1 حذف شده
  1. 3 1
      umac/tdls/core/src/wlan_tdls_cmds_process.c

+ 3 - 1
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;
 }