diff options
| -rw-r--r-- | core/sap/src/sap_fsm.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/core/sap/src/sap_fsm.c b/core/sap/src/sap_fsm.c index aa8e5c6e4145..28c99dc6c5c7 100644 --- a/core/sap/src/sap_fsm.c +++ b/core/sap/src/sap_fsm.c @@ -4306,9 +4306,17 @@ static QDF_STATUS sap_fsm_state_disconnecting(ptSapContext sap_ctx, "eSAP_DISCONNECTING", "eSAP_DISCONNECTED"); sap_ctx->sapsMachine = eSAP_DISCONNECTED; - qdf_status = sap_signal_hdd_event(sap_ctx, NULL, - eSAP_STOP_BSS_EVENT, - (void *)eSAP_STATUS_SUCCESS); + /* Close the SME session */ + if (true == sap_ctx->isSapSessionOpen) { + sap_ctx->isSapSessionOpen = false; + qdf_status = sap_close_session(hal, sap_ctx, + sap_roam_session_close_callback, true); + if (!QDF_IS_STATUS_SUCCESS(qdf_status)) { + qdf_status = sap_signal_hdd_event(sap_ctx, NULL, + eSAP_STOP_BSS_EVENT, + (void *)eSAP_STATUS_SUCCESS); + } + } } else if (msg == eWNI_SME_CHANNEL_CHANGE_REQ) { QDF_TRACE(QDF_MODULE_ID_SAP, QDF_TRACE_LEVEL_INFO_MED, FL("sapdfs: Send channel change request on sapctx[%pK]"), |
