|
@@ -5134,6 +5134,7 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta)
|
|
{
|
|
{
|
|
uint8_t oper_mode = BSS_OPERATIONAL_MODE_STA;
|
|
uint8_t oper_mode = BSS_OPERATIONAL_MODE_STA;
|
|
void *htc_handle;
|
|
void *htc_handle;
|
|
|
|
+ QDF_STATUS status = QDF_STATUS_SUCCESS;
|
|
|
|
|
|
htc_handle = lmac_get_htc_hdl(wma->psoc);
|
|
htc_handle = lmac_get_htc_hdl(wma->psoc);
|
|
if (!htc_handle) {
|
|
if (!htc_handle) {
|
|
@@ -5158,7 +5159,7 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta)
|
|
wma_add_sta_req_ap_mode(wma, add_sta);
|
|
wma_add_sta_req_ap_mode(wma, add_sta);
|
|
break;
|
|
break;
|
|
case BSS_OPERATIONAL_MODE_NDI:
|
|
case BSS_OPERATIONAL_MODE_NDI:
|
|
- wma_add_sta_ndi_mode(wma, add_sta);
|
|
|
|
|
|
+ status = wma_add_sta_ndi_mode(wma, add_sta);
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -5199,7 +5200,8 @@ void wma_add_sta(tp_wma_handle wma, tpAddStaParams add_sta)
|
|
}
|
|
}
|
|
|
|
|
|
/* handle wow for nan with 1 or more peer in same way */
|
|
/* handle wow for nan with 1 or more peer in same way */
|
|
- if (BSS_OPERATIONAL_MODE_NDI == oper_mode) {
|
|
|
|
|
|
+ if (BSS_OPERATIONAL_MODE_NDI == oper_mode &&
|
|
|
|
+ QDF_IS_STATUS_SUCCESS(status)) {
|
|
wma_debug("disable runtime pm and vote for link up");
|
|
wma_debug("disable runtime pm and vote for link up");
|
|
htc_vote_link_up(htc_handle, HTC_LINK_VOTE_NDP_USER_ID);
|
|
htc_vote_link_up(htc_handle, HTC_LINK_VOTE_NDP_USER_ID);
|
|
wma_ndp_prevent_runtime_pm(wma);
|
|
wma_ndp_prevent_runtime_pm(wma);
|
|
@@ -5215,6 +5217,7 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
|
|
uint8_t vdev_id = del_sta->smesessionId;
|
|
uint8_t vdev_id = del_sta->smesessionId;
|
|
bool rsp_requested = del_sta->respReqd;
|
|
bool rsp_requested = del_sta->respReqd;
|
|
void *htc_handle;
|
|
void *htc_handle;
|
|
|
|
+ QDF_STATUS status = QDF_STATUS_SUCCESS;
|
|
|
|
|
|
htc_handle = lmac_get_htc_hdl(wma->psoc);
|
|
htc_handle = lmac_get_htc_hdl(wma->psoc);
|
|
if (!htc_handle) {
|
|
if (!htc_handle) {
|
|
@@ -5254,7 +5257,7 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
|
|
qdf_mem_free(del_sta);
|
|
qdf_mem_free(del_sta);
|
|
break;
|
|
break;
|
|
case BSS_OPERATIONAL_MODE_NDI:
|
|
case BSS_OPERATIONAL_MODE_NDI:
|
|
- wma_delete_sta_req_ndi_mode(wma, del_sta);
|
|
|
|
|
|
+ status = wma_delete_sta_req_ndi_mode(wma, del_sta);
|
|
break;
|
|
break;
|
|
default:
|
|
default:
|
|
wma_err("Incorrect oper mode %d", oper_mode);
|
|
wma_err("Incorrect oper mode %d", oper_mode);
|
|
@@ -5297,7 +5300,8 @@ void wma_delete_sta(tp_wma_handle wma, tpDeleteStaParams del_sta)
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
|
|
|
|
- if (BSS_OPERATIONAL_MODE_NDI == oper_mode) {
|
|
|
|
|
|
+ if (BSS_OPERATIONAL_MODE_NDI == oper_mode &&
|
|
|
|
+ QDF_IS_STATUS_SUCCESS(status)) {
|
|
wma_debug("allow runtime pm and vote for link down");
|
|
wma_debug("allow runtime pm and vote for link down");
|
|
htc_vote_link_down(htc_handle, HTC_LINK_VOTE_NDP_USER_ID);
|
|
htc_vote_link_down(htc_handle, HTC_LINK_VOTE_NDP_USER_ID);
|
|
wma_ndp_allow_runtime_pm(wma);
|
|
wma_ndp_allow_runtime_pm(wma);
|