From c416da60c51002bd1f70f35a895427206bdca3a4 Mon Sep 17 00:00:00 2001 From: Agrawal Ashish Date: Mon, 10 Apr 2017 15:12:46 +0530 Subject: [PATCH] qcacld-3.0: Trigger pktlog as part of hb failure/kickout event When Driver does disconnect as part of heartbeat failure or kickout event, trigger fatal event to capture pktlog. Change-Id: I43a486afeccc4acd4be542357b803d492afde9c0 CRs-Fixed: 2030718 --- core/mac/inc/ani_global.h | 4 ++++ core/mac/src/pe/lim/lim_link_monitoring_algo.c | 10 ++++++++++ core/sme/src/csr/csr_api_roam.c | 5 +++++ 3 files changed, 19 insertions(+) diff --git a/core/mac/inc/ani_global.h b/core/mac/inc/ani_global.h index fe6910e379cd..6d6da1324df1 100644 --- a/core/mac/inc/ani_global.h +++ b/core/mac/inc/ani_global.h @@ -171,6 +171,8 @@ enum log_event_indicator { * @WLAN_LOG_REASON_NO_SCAN_RESULTS: no scan results to report from HDD * This enum contains the different reason codes for bug report * @WLAN_LOG_REASON_SCAN_NOT_ALLOWED: scan not allowed due to connection states + * @WLAN_LOG_REASON_HB_FAILURE: station triggered heart beat failure with AP + * @WLAN_LOG_REASON_ROAM_HO_FAILURE: Handover failed during LFR3 roaming */ enum log_event_host_reason_code { WLAN_LOG_REASON_CODE_UNUSED, @@ -185,6 +187,8 @@ enum log_event_host_reason_code { WLAN_LOG_REASON_SME_OUT_OF_CMD_BUF, WLAN_LOG_REASON_NO_SCAN_RESULTS, WLAN_LOG_REASON_SCAN_NOT_ALLOWED, + WLAN_LOG_REASON_HB_FAILURE, + WLAN_LOG_REASON_ROAM_HO_FAILURE }; diff --git a/core/mac/src/pe/lim/lim_link_monitoring_algo.c b/core/mac/src/pe/lim/lim_link_monitoring_algo.c index 1734eee46329..611dc40814f5 100644 --- a/core/mac/src/pe/lim/lim_link_monitoring_algo.c +++ b/core/mac/src/pe/lim/lim_link_monitoring_algo.c @@ -319,6 +319,11 @@ lim_trigger_sta_deletion(tpAniSirGlobal mac_ctx, tpDphHashNode sta_ds, mlm_disassoc_ind.sessionId = session_entry->peSessionId; lim_post_sme_message(mac_ctx, LIM_MLM_DISASSOC_IND, (uint32_t *) &mlm_disassoc_ind); + if (mac_ctx->roam.configParam.enable_fatal_event) + cds_flush_logs(WLAN_LOG_TYPE_NON_FATAL, + WLAN_LOG_INDICATOR_HOST_DRIVER, + WLAN_LOG_REASON_HB_FAILURE, + false, false); /* Issue Disassoc Indication to SME */ lim_send_sme_disassoc_ind(mac_ctx, sta_ds, session_entry); } /*** end lim_trigger_st_adeletion() ***/ @@ -416,6 +421,11 @@ lim_tear_down_link_with_ap(tpAniSirGlobal pMac, uint8_t sessionId, if (LIM_IS_STA_ROLE(psessionEntry)) lim_post_sme_message(pMac, LIM_MLM_DEAUTH_IND, (uint32_t *) &mlmDeauthInd); + if (pMac->roam.configParam.enable_fatal_event) + cds_flush_logs(WLAN_LOG_TYPE_NON_FATAL, + WLAN_LOG_INDICATOR_HOST_DRIVER, + WLAN_LOG_REASON_HB_FAILURE, + false, false); lim_send_sme_deauth_ind(pMac, pStaDs, psessionEntry); } diff --git a/core/sme/src/csr/csr_api_roam.c b/core/sme/src/csr/csr_api_roam.c index 6e9ddb01bf5a..03a0d87fe520 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19131,6 +19131,11 @@ void csr_process_ho_fail_ind(tpAniSirGlobal mac_ctx, void *pMsgBuf) "LFR3:Issue Disconnect on session %d", sessionId); csr_roam_disconnect(mac_ctx, sessionId, eCSR_DISCONNECT_REASON_ROAM_HO_FAIL); + if (mac_ctx->roam.configParam.enable_fatal_event) + cds_flush_logs(WLAN_LOG_TYPE_NON_FATAL, + WLAN_LOG_INDICATOR_HOST_DRIVER, + WLAN_LOG_REASON_ROAM_HO_FAILURE, + true, false); } #endif /* WLAN_FEATURE_ROAM_OFFLOAD */