qcacld-3.0: Release the peer reference in twt_get_status

In ucfg_twt_get_all_peer_session_params peer reference is
acquired and its not released leading to the reference leak,
leading to vdev destroy timeout.

Release the peer reference to resolve the issue.

Change-Id: I9992376473c30365f15fcdb8e374c856bc169d6b
CRs-Fixed: 3027189
This commit is contained in:
Deeksha Gupta 2021-09-01 13:16:27 +05:30 committed by Madan Koyyalamudi
parent 34c70859fd
commit 57dd7d9ac1

View File

@ -253,16 +253,21 @@ ucfg_twt_get_all_peer_session_params(struct wlan_objmgr_psoc *psoc_obj,
}
if (opmode == QDF_STA_MODE &&
num_twt_session >= TWT_PEER_MAX_SESSIONS)
num_twt_session >= TWT_PEER_MAX_SESSIONS) {
wlan_objmgr_peer_release_ref(peer, WLAN_CP_STATS_ID);
goto done;
}
if (opmode == QDF_SAP_MODE &&
num_twt_session >= (sap_max_peer * TWT_PEER_MAX_SESSIONS))
num_twt_session >= (sap_max_peer * TWT_PEER_MAX_SESSIONS)) {
wlan_objmgr_peer_release_ref(peer, WLAN_CP_STATS_ID);
goto done;
}
peer_next = wlan_peer_get_next_active_peer_of_vdev(
vdev, peer_list, peer,
WLAN_CP_STATS_ID);
wlan_objmgr_peer_release_ref(peer, WLAN_CP_STATS_ID);
peer = peer_next;
}