mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-13 16:16:15 -04:00
qcacld-3.0: Reintroduce eCSR_ASSOC_STATE_TYPE_INFRA_DISCONNECTING
This state ensures that host will not issue connect from scan for ssid completion. Thus if this fresh connect also issue scan for ssid, then host drops connect command assuming disconnect is in progress. If host gets disconnect request in between the scan for SSID of previous connect request, host aborts scan and host blocks next commands till the sme disconnect timeout. Change-Id: Ia42332dfef73e4b6ea8f348894427e5fe81eac1d CRs-Fixed: 2865047
This commit is contained in:
parent
bcf8edb00a
commit
65a35d7ea0
1 changed files with 9 additions and 1 deletions
|
|
@ -8582,9 +8582,17 @@ QDF_STATUS csr_roam_disconnect(struct mac_context *mac_ctx, uint32_t session_id,
|
|||
|
||||
if (csr_is_conn_state_connected(mac_ctx, session_id)
|
||||
|| csr_is_roam_command_waiting_for_session(mac_ctx, session_id)
|
||||
|| CSR_IS_CONN_NDI(&session->connectedProfile))
|
||||
|| CSR_IS_CONN_NDI(&session->connectedProfile)) {
|
||||
status = csr_roam_issue_disassociate_cmd(mac_ctx, session_id,
|
||||
reason, mac_reason);
|
||||
} else if (session->scan_info.profile) {
|
||||
mac_ctx->roam.roamSession[session_id].connectState =
|
||||
eCSR_ASSOC_STATE_TYPE_INFRA_DISCONNECTING;
|
||||
csr_scan_abort_mac_scan(mac_ctx, session_id, INVAL_SCAN_ID);
|
||||
status = QDF_STATUS_CMD_NOT_QUEUED;
|
||||
sme_debug("Disconnect cmd not queued, Roam command is not present return with status %d",
|
||||
status);
|
||||
}
|
||||
|
||||
return status;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue