summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYue Ma <yuem@qca.qualcomm.com>2014-08-14 16:58:18 -0700
committerAkash Patel <c_akashp@qca.qualcomm.com>2014-08-18 23:41:12 -0700
commit3c65ee6bde643f0ce2f660aa039cd12839a39c10 (patch)
tree37ee97d01d2842a45262e96681d7b0177c1ace6c
parentb6ffcf64ec3199079604d2f7e02f358b677e78b7 (diff)
qca_cld: Get IBSS adapter in SSR re-init routine
In SSR re-init routine, get IBSS adapter for IBSS standalone mode since STA and SAP adapters are not there. Also add support to print ROME3.1 HW version. CRs-fixed: 709947 Change-Id: If699b81863bdeb6e1639102188998427a6cd53c8
-rw-r--r--CORE/HDD/src/wlan_hdd_early_suspend.c107
-rw-r--r--CORE/HDD/src/wlan_hdd_wext.c5
2 files changed, 61 insertions, 51 deletions
diff --git a/CORE/HDD/src/wlan_hdd_early_suspend.c b/CORE/HDD/src/wlan_hdd_early_suspend.c
index 08db44645563..d657a1149c34 100644
--- a/CORE/HDD/src/wlan_hdd_early_suspend.c
+++ b/CORE/HDD/src/wlan_hdd_early_suspend.c
@@ -2005,23 +2005,6 @@ VOS_STATUS hdd_wlan_re_init(void *hif_sc)
/* The driver should always be initialized in STA mode after SSR */
hdd_set_conparam(0);
-
- /* Try to get an adapter from mode ID */
- pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_INFRA_STATION);
- if (!pAdapter)
- {
- pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_SOFTAP);
- if (!pAdapter)
- {
- VOS_TRACE(VOS_MODULE_ID_HDD, VOS_TRACE_LEVEL_FATAL,
- "%s: Failed to get Adapter!", __func__);
- goto err_re_init;
- }
- }
-
- /* Get WLAN HW/FW version */
- hdd_wlan_get_version(pAdapter, NULL, NULL);
-
/* Re-open VOSS, it is a re-open b'se control transport was never closed. */
vosStatus = vos_open(&pVosContext, 0);
if (!VOS_IS_STATUS_SUCCESS(vosStatus))
@@ -2118,6 +2101,26 @@ VOS_STATUS hdd_wlan_re_init(void *hif_sc)
goto err_vosstop;
}
+ /* Try to get an adapter from mode ID */
+ pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_INFRA_STATION);
+ if (!pAdapter) {
+ pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_SOFTAP);
+ if (!pAdapter) {
+ pAdapter = hdd_get_adapter(pHddCtx, WLAN_HDD_IBSS);
+ if (!pAdapter) {
+ hddLog(VOS_TRACE_LEVEL_FATAL, "%s: Failed to get Adapter!",
+ __func__);
+ }
+ }
+ }
+
+ /* Get WLAN Host/FW/HW version */
+ if (pAdapter)
+ hdd_wlan_get_version(pAdapter, NULL, NULL);
+
+ /* Pass FW version to HIF layer */
+ hif_set_fw_info(hif_sc, pHddCtx->target_fw_version);
+
#ifdef WLAN_BTAMP_FEATURE
vosStatus = WLANBAP_Open(pVosContext);
if(!VOS_IS_STATUS_SUCCESS(vosStatus))
@@ -2147,47 +2150,49 @@ VOS_STATUS hdd_wlan_re_init(void *hif_sc)
/* Restart all adapters */
hdd_start_all_adapters(pHddCtx);
- /* reconfigure f/w logs after ssr */
- if (pHddCtx->fw_log_settings.enable != 0) {
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_MODULE_ENABLE,
- pHddCtx->fw_log_settings.enable , DBG_CMD);
- } else {
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_MODULE_DISABLE,
- pHddCtx->fw_log_settings.enable, DBG_CMD);
- }
- if (pHddCtx->fw_log_settings.dl_report != 0) {
-
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_REPORT_ENABLE,
- pHddCtx->fw_log_settings.dl_report, DBG_CMD);
-
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_TYPE,
- pHddCtx->fw_log_settings.dl_type, DBG_CMD);
-
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_LOG_LEVEL,
- pHddCtx->fw_log_settings.dl_loglevel, DBG_CMD);
-
- for (i = 0; i < MAX_MOD_LOGLEVEL; i++) {
- if (pHddCtx->fw_log_settings.dl_mod_loglevel[i] != 0) {
- process_wma_set_command(pAdapter->sessionId,
- WMI_DBGLOG_MOD_LOG_LEVEL,
- pHddCtx->fw_log_settings.dl_mod_loglevel[i],
- DBG_CMD);
- }
- }
+
+ /* Reconfigure FW logs after SSR */
+ if (pAdapter) {
+ if (pHddCtx->fw_log_settings.enable != 0) {
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_MODULE_ENABLE,
+ pHddCtx->fw_log_settings.enable , DBG_CMD);
+ } else {
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_MODULE_DISABLE,
+ pHddCtx->fw_log_settings.enable, DBG_CMD);
+ }
+
+ if (pHddCtx->fw_log_settings.dl_report != 0) {
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_REPORT_ENABLE,
+ pHddCtx->fw_log_settings.dl_report, DBG_CMD);
+
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_TYPE,
+ pHddCtx->fw_log_settings.dl_type, DBG_CMD);
+
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_LOG_LEVEL,
+ pHddCtx->fw_log_settings.dl_loglevel, DBG_CMD);
+
+ for (i = 0; i < MAX_MOD_LOGLEVEL; i++) {
+ if (pHddCtx->fw_log_settings.dl_mod_loglevel[i] != 0) {
+ process_wma_set_command(pAdapter->sessionId,
+ WMI_DBGLOG_MOD_LOG_LEVEL,
+ pHddCtx->fw_log_settings.dl_mod_loglevel[i],
+ DBG_CMD);
+ }
+ }
+ }
}
- /* end of f/w log config after ssr */
+
pHddCtx->isLogpInProgress = FALSE;
vos_set_logp_in_progress(VOS_MODULE_ID_VOSS, FALSE);
pHddCtx->hdd_mcastbcast_filter_set = FALSE;
hdd_register_mcast_bcast_filter(pHddCtx);
hdd_ssr_timer_del();
-
wlan_hdd_send_svc_nlink_msg(WLAN_SVC_FW_CRASHED_IND, NULL, 0);
/* Allow the phone to go to sleep */
diff --git a/CORE/HDD/src/wlan_hdd_wext.c b/CORE/HDD/src/wlan_hdd_wext.c
index bce292283101..7fdfd5e688a7 100644
--- a/CORE/HDD/src/wlan_hdd_wext.c
+++ b/CORE/HDD/src/wlan_hdd_wext.c
@@ -539,6 +539,11 @@ static const struct qwlan_hw qwlan_hw_list[] = {
.id = AR6320_REV3_VERSION,
.subid = 0x8,
.name = "QCA6174_REV3",
+ },
+ {
+ .id = AR6320_REV3_VERSION,
+ .subid = 0x9,
+ .name = "QCA6174_REV3_1",
}
};