summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/sap/src/sap_fsm.c14
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]"),