qcacld-3.0: Stop SAP and indicate event more earlier after SSR
propagation from qcacld-2.0 to qcacld-3.0 DUT is SAP + STA SBSC mode, it takes very long time to recover after SSR. There are two problems: 1. It clear STA session and create new after SSR, but just clear SAP session. With sessionId in SAP context, it wrongly use new STA session to close SAP when terminate hostapd. This is the reason why host wait stop_bss_event for 10 seconds in cfg80211 stop ap. Set sessionId to invalid if adapter is SAP mode. 2. In dual-wifi mode, it will start second WLAN if SSR and WLAN_SVC_FW_CRASHED_IND late. Send this event more earlier. Change-Id: I10a3f300ac5621463fcce4d0a5e18b2cf1cb8491 CRs-Fixed: 1054612
This commit is contained in:
@@ -970,6 +970,9 @@ uint32_t wlansap_get_chan_width(void *cds_ctx);
|
||||
|
||||
QDF_STATUS wlansap_set_tx_leakage_threshold(tHalHandle hal,
|
||||
uint16_t tx_leakage_threshold);
|
||||
|
||||
QDF_STATUS wlansap_set_invalid_session(void *cds_ctx);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
@@ -3665,3 +3665,29 @@ QDF_STATUS wlansap_set_tx_leakage_threshold(tHalHandle hal,
|
||||
mac->sap.SapDfsInfo.tx_leakage_threshold);
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
/*
|
||||
* wlansap_set_invalid_session() - set session ID to invalid
|
||||
* @cds_ctx: pointer of global context
|
||||
*
|
||||
* This function sets session ID to invalid
|
||||
*
|
||||
* Return: QDF_STATUS
|
||||
*/
|
||||
QDF_STATUS
|
||||
wlansap_set_invalid_session(void *cds_ctx)
|
||||
{
|
||||
ptSapContext psapctx;
|
||||
|
||||
psapctx = CDS_GET_SAP_CB(cds_ctx);
|
||||
if (NULL == psapctx) {
|
||||
QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_ERROR,
|
||||
FL("Invalid SAP pointer from pctx"));
|
||||
return QDF_STATUS_E_FAILURE;
|
||||
}
|
||||
|
||||
psapctx->sessionId = CSR_SESSION_ID_INVALID;
|
||||
psapctx->isSapSessionOpen = eSAP_FALSE;
|
||||
|
||||
return QDF_STATUS_SUCCESS;
|
||||
}
|
||||
|
Reference in New Issue
Block a user