diff options
| author | Agrawal Ashish <ashishka@codeaurora.org> | 2016-08-18 16:24:11 +0530 |
|---|---|---|
| committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-21 17:02:18 -0700 |
| commit | 4c104387cc3880fd42ccd248693dbb6833da60fe (patch) | |
| tree | f03dc5717fd7c08b91a470e532891863215fddb1 | |
| parent | 7dd7c5991796c8dd494f2cff1e06ee48b9b54dd3 (diff) | |
qcacld-3.0: Fix SAP start failure issue
qcacld-2.0 to qcacld-3.0 propagation
At the time of driver load, sap session is opened as part of
hdd_init_ap_mode but in case of sap restart, sme_open_session
is called from sapFsm.
At the time of opening session, sme_open_session register
wlansap_roam_callback callback for connection status.
If this callback is not registered, HDD will not get connection
status and HDD will start cleanup after SAP connection timeout which
will result in SAP failure.
Need to register wlansap_roam_callback as part of sme_open_session
when session is not created as part of hdd_init_ap_mode.
Change-Id: Ifd2cec5fec432f1dcd2b39c59df1f1c5b13c55d5
CRs-Fixed: 1051097
| -rw-r--r-- | core/sap/src/sap_fsm.c | 12 |
1 files changed, 2 insertions, 10 deletions
diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index ff1caa64bfa8..32fca747bc2e 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -3378,8 +3378,8 @@ static QDF_STATUS sap_fsm_state_disconnected(ptSapContext sap_ctx, "failed to get vdev type"); return QDF_STATUS_E_FAILURE; } - /* Open SME Session for scan */ - qdf_status = sme_open_session(hal, NULL, + qdf_status = sme_open_session(hal, + &wlansap_roam_callback, sap_ctx, sap_ctx->self_mac_addr, &sap_ctx->sessionId, type, subtype); if (QDF_STATUS_SUCCESS != qdf_status) { @@ -3404,14 +3404,6 @@ static QDF_STATUS sap_fsm_state_disconnected(ptSapContext sap_ctx, */ qdf_status = sap_goto_channel_sel(sap_ctx, sap_event, false, true); - - /* - * Transition from eSAP_DISCONNECTED to eSAP_CH_SELECT - * (both without substates) - */ - QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_HIGH, - FL("from state %s => %s"), - "eSAP_DISCONNECTED", "eSAP_CH_SELECT"); } else if (msg == eSAP_DFS_CHANNEL_CAC_START) { /* * No need of state check here, caller is expected to perform |
