qcacld-3.0: Skip starting SAP after channel change if stop BSS in progress

When stop_bss from HDD is received when a SAP channel change request
is currently in progress and channel change response is not yet
received from the FW, the stop_bss would clear the SAP session and
when channel change response is received, we try to start BSS again.
The CSR roam state is also set to JOINING in this case.

As part of start BSS, we queue set key command to SME active command
list. Since the session has been cleared, eWNI_SME_SETCONTEXT_RSP
sent to lim would not be processed in CSR state JOINING leading to set
key command stuck in the active command list.

Do not restart BSS after channel change response if stop BSS is in
progress. Also handle eWNI_SME_SETCONTEXT_RSP and clear the command
queue in CSR Joining state.

Change-Id: I8dbab054746d26cc92fc2274d35ce76a694035fe
CRs-Fixed: 2193505
This commit is contained in:
Vignesh Viswanathan
2018-02-27 14:01:59 +05:30
committed by snandini
szülő 38e732a272
commit 200f5c19b0
7 fájl változott, egészen pontosan 58 új sor hozzáadva és 3 régi sor törölve

Fájl megtekintése

@@ -1425,6 +1425,20 @@ void sap_dfs_set_current_channel(void *sap_ctx);
*/
void wlansap_cleanup_cac_timer(struct sap_context *sap_ctx);
/**
* wlansap_set_stop_bss_inprogress - sets the stop_bss_in_progress flag
*
* @sap_ctx: Pointer to the global SAP ctx
* @in_progress: the value to be set to the stop_bss_in_progress_flag
*
* This function sets the value in in_progress parameter to the
* stop_bss_in_progress flag in sap_context.
*
* Return: None
*/
void wlansap_set_stop_bss_inprogress(struct sap_context *sap_ctx,
bool in_progress);
#ifdef __cplusplus
}
#endif