summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--core/cds/src/cds_concurrency.c5
-rw-r--r--core/hdd/src/wlan_hdd_green_ap.c8
2 files changed, 11 insertions, 2 deletions
diff --git a/core/cds/src/cds_concurrency.c b/core/cds/src/cds_concurrency.c
index 56904b87cd9f..d7a05dde938f 100644
--- a/core/cds/src/cds_concurrency.c
+++ b/core/cds/src/cds_concurrency.c
@@ -66,6 +66,7 @@
#include "wlan_hdd_ipa.h"
#include "cdp_txrx_flow_ctrl_legacy.h"
#include "pld_common.h"
+#include "wlan_hdd_green_ap.h"
static struct cds_conc_connection_info
conc_connection_list[MAX_NUMBER_OF_CONC_CONNECTIONS];
@@ -3467,6 +3468,8 @@ void cds_set_concurrency_mode(enum tQDF_ADAPTER_MODE mode)
cds_info("concurrency_mode = 0x%x Number of open sessions for mode %d = %d",
hdd_ctx->concurrency_mode, mode,
hdd_ctx->no_of_open_sessions[mode]);
+
+ hdd_green_ap_start_bss(hdd_ctx);
}
/**
@@ -3507,6 +3510,8 @@ void cds_clear_concurrency_mode(enum tQDF_ADAPTER_MODE mode)
cds_info("concurrency_mode = 0x%x Number of open sessions for mode %d = %d",
hdd_ctx->concurrency_mode, mode,
hdd_ctx->no_of_open_sessions[mode]);
+
+ hdd_green_ap_start_bss(hdd_ctx);
}
/**
diff --git a/core/hdd/src/wlan_hdd_green_ap.c b/core/hdd/src/wlan_hdd_green_ap.c
index e87c90c18823..711eac9e6289 100644
--- a/core/hdd/src/wlan_hdd_green_ap.c
+++ b/core/hdd/src/wlan_hdd_green_ap.c
@@ -425,8 +425,12 @@ void hdd_green_ap_start_bss(struct hdd_context_s *hdd_ctx)
*/
}
- if (!(QDF_STA_MASK & hdd_ctx->concurrency_mode) &&
- cfg->enable2x2 && cfg->enableGreenAP) {
+ if ((hdd_ctx->concurrency_mode & QDF_SAP_MASK) &&
+ !(hdd_ctx->concurrency_mode & (QDF_SAP_MASK)) &&
+ cfg->enable2x2 && cfg->enableGreenAP) {
+ hdd_notice("Green AP enabled - sta_con: %d, 2x2: %d, GAP: %d",
+ QDF_STA_MASK & hdd_ctx->concurrency_mode,
+ cfg->enable2x2, cfg->enableGreenAP);
hdd_green_ap_mc(hdd_ctx, GREEN_AP_PS_START_EVENT);
} else {
hdd_green_ap_mc(hdd_ctx, GREEN_AP_PS_STOP_EVENT);