summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/mac/src/pe/lim/lim_send_sme_rsp_messages.c7
-rw-r--r--core/wma/src/wma_features.c3
2 files changed, 8 insertions, 2 deletions
diff --git a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
index cedfe43d706c..5f950cc2c0e4 100644
--- a/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
+++ b/core/mac/src/pe/lim/lim_send_sme_rsp_messages.c
@@ -2310,6 +2310,13 @@ void lim_handle_csa_offload_msg(tpAniSirGlobal mac_ctx, tpSirMsgQ msg)
}
lim_log(mac_ctx, LOG1, FL("new ch width = %d space:%d"),
session_entry->gLimChannelSwitch.ch_width, chan_space);
+ if ((session_entry->currentOperChannel == csa_params->channel) &&
+ (session_entry->ch_width ==
+ session_entry->gLimChannelSwitch.ch_width)) {
+ lim_log(mac_ctx, LOGE, FL(
+ "Ignore CSA, no change in ch and bw"));
+ goto err;
+ }
lim_prepare_for11h_channel_switch(mac_ctx, session_entry);
csa_offload_ind = qdf_mem_malloc(sizeof(tSmeCsaOffloadInd));
diff --git a/core/wma/src/wma_features.c b/core/wma/src/wma_features.c
index f9fd707f4f60..927898c2db15 100644
--- a/core/wma/src/wma_features.c
+++ b/core/wma/src/wma_features.c
@@ -1665,8 +1665,7 @@ int wma_csa_offload_handler(void *handle, uint8_t *event, uint32_t len)
* basic sanity check: requested channel should not be 0
* and equal to home channel
*/
- if ((0 == csa_offload_event->channel) ||
- (cur_chan == csa_offload_event->channel)) {
+ if (0 == csa_offload_event->channel) {
WMA_LOGE("CSA Event with channel %d. Ignore !!",
csa_offload_event->channel);
qdf_mem_free(csa_offload_event);