qcacld-3.0: Unify wow handling for SAP, IBSS and NaN mode

Unify wow handling for SAP, IBSS and NaN mode such that both DRV
and non DRV cases are handled in same way for SAP, IBSS and NaN modes.

Change-Id: I04c7a6488285511f34ef3a5c2288937dc74b6b73
CRs-Fixed: 2603912
This commit is contained in:
Rajeev Kumar 2020-01-15 11:51:03 -08:00 committed by nshrivas
parent ee462a396a
commit 5f719277bc

View File

@ -4786,6 +4786,17 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta)
/* IBSS should share the same code as AP mode */
case BSS_OPERATIONAL_MODE_IBSS:
case BSS_OPERATIONAL_MODE_AP:
wma_add_sta_req_ap_mode(wma, add_sta);
break;
case BSS_OPERATIONAL_MODE_NDI:
wma_add_sta_ndi_mode(wma, add_sta);
break;
}
/* handle wow for sap, ibss and nan with 1 or more peer in same way */
if (BSS_OPERATIONAL_MODE_IBSS == oper_mode ||
BSS_OPERATIONAL_MODE_AP == oper_mode ||
BSS_OPERATIONAL_MODE_NDI == oper_mode) {
if (qdf_is_drv_connected()) {
wma_debug("drv wow enabled prevent runtime pm");
wma_sap_prevent_runtime_pm(wma);
@ -4793,11 +4804,6 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta)
wma_debug("non-drv wow enabled vote for link up");
htc_vote_link_up(htc_handle);
}
wma_add_sta_req_ap_mode(wma, add_sta);
break;
case BSS_OPERATIONAL_MODE_NDI:
wma_add_sta_ndi_mode(wma, add_sta);
break;
}
/* adjust heart beat thresold timer value for detecting ibss peer
@ -4849,13 +4855,6 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
case BSS_OPERATIONAL_MODE_IBSS: /* IBSS shares AP code */
case BSS_OPERATIONAL_MODE_AP:
if (qdf_is_drv_connected()) {
wma_debug("drv wow enabled allow runtime pm");
wma_sap_allow_runtime_pm(wma);
} else {
wma_debug("drv wow disabled vote for link down");
htc_vote_link_down(htc_handle);
}
wma_delete_sta_req_ap_mode(wma, del_sta);
/* free the memory here only if sync feature is not enabled */
if (!rsp_requested &&
@ -4879,6 +4878,19 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
qdf_mem_free(del_sta);
}
/* handle wow for sap, ibss and nan with 1 or more peer in same way */
if (BSS_OPERATIONAL_MODE_IBSS == oper_mode ||
BSS_OPERATIONAL_MODE_AP == oper_mode ||
BSS_OPERATIONAL_MODE_NDI == oper_mode) {
if (qdf_is_drv_connected()) {
wma_debug("drv wow enabled allow runtime pm");
wma_sap_allow_runtime_pm(wma);
} else {
wma_debug("drv wow disabled vote for link down");
htc_vote_link_down(htc_handle);
}
}
/* adjust heart beat thresold timer value for
* detecting ibss peer departure
*/