|
@@ -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
|
|
|
*/
|