wlan: Block SSR reinit and drive load till CBC complete
To avoid driver load failure block SSR reinit and
driver load till cold boot calibration complete
event received from firmware.
Change-Id: I74b1d32936b895a3b6fcc015611d6049aad45630
CRs-Fixed: 734932
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index e520ee5..02b13fa 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -2048,6 +2048,9 @@
#ifdef HAVE_WCNSS_CAL_DOWNLOAD
int max_retries = 0;
#endif
+#ifdef HAVE_CBC_DONE
+ int max_cbc_retries = 0;
+#endif
#ifdef WLAN_BTAMP_FEATURE
hdd_config_t *pConfig = NULL;
WLANBAP_ConfigType btAmpConfig;
@@ -2068,6 +2071,15 @@
}
#endif
+#ifdef HAVE_CBC_DONE
+ while (!wcnss_cbc_complete() && 20 >= ++max_cbc_retries) {
+ msleep(1000);
+ }
+ if (max_cbc_retries >= 20) {
+ hddLog(VOS_TRACE_LEVEL_FATAL, "%s:CBC not completed", __func__);
+ }
+#endif
+
vos_set_reinit_in_progress(VOS_MODULE_ID_VOSS, TRUE);
/* The driver should always be initialized in STA mode after SSR */