1
0

qcacmn: Fix Green AP reference count ID mismatch

Green AP incorrectly uses object manager ID for reference
counting, and it causes inconsistency in the system.
Create a unique reference count ID for green AP
and use it.

Change-Id: Ia7d9545e95add01d209b11f1b000e38bc1591a47
CRs-Fixed: 2220280
Este cometimento está contido em:
Kabilan Kannan
2018-04-06 16:45:52 -07:00
cometido por nshrivas
ascendente e30a7f5b7d
cometimento 6c3cb57806
5 ficheiros modificados com 15 adições e 8 eliminações

Ver ficheiro

@@ -177,9 +177,10 @@ uint8_t *wlan_util_vdev_get_if_name(struct wlan_objmgr_vdev *vdev);
/*
* wlan_util_is_vap_active() - Check for vap active
* @pdev: pdev pointer
* @dbg_id: debug id for ref counting
*
* @Return: QDF_STATUS_SUCCESS in case of vap active
*/
QDF_STATUS wlan_util_is_vap_active(struct wlan_objmgr_pdev *pdev);
QDF_STATUS wlan_util_is_vap_active(struct wlan_objmgr_pdev *pdev,
wlan_objmgr_ref_dbgid dbg_id);
#endif /* _WLAN_UTILITY_H_ */

Ver ficheiro

@@ -281,7 +281,8 @@ static void wlan_vap_active(struct wlan_objmgr_pdev *pdev,
wlan_vdev_obj_unlock(vdev);
}
QDF_STATUS wlan_util_is_vap_active(struct wlan_objmgr_pdev *pdev)
QDF_STATUS wlan_util_is_vap_active(struct wlan_objmgr_pdev *pdev,
wlan_objmgr_ref_dbgid dbg_id)
{
uint8_t flag = 0;
@@ -291,7 +292,7 @@ QDF_STATUS wlan_util_is_vap_active(struct wlan_objmgr_pdev *pdev)
wlan_objmgr_pdev_iterate_obj_list(pdev,
WLAN_VDEV_OP,
wlan_vap_active,
&flag, 0, WLAN_OBJMGR_ID);
&flag, 0, dbg_id);
if (flag == 1)
return QDF_STATUS_SUCCESS;