From 75f5d5e8a6a20dba4261592bb920cc0fee92dfea Mon Sep 17 00:00:00 2001 From: Agrawal Ashish Date: Mon, 10 Apr 2017 15:12:46 +0530 Subject: 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 99373cb96eb7..b41f09429ea4 100644 --- a/core/mac/inc/ani_global.h +++ b/core/mac/inc/ani_global.h @@ -170,6 +170,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, @@ -184,6 +186,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 b4e9e9cdf870..b528f76eb3bd 100644 --- a/core/mac/src/pe/lim/lim_link_monitoring_algo.c +++ b/core/mac/src/pe/lim/lim_link_monitoring_algo.c @@ -312,6 +312,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() ***/ @@ -409,6 +414,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 b0e50235a0c6..5af6c7623386 100644 --- a/core/sme/src/csr/csr_api_roam.c +++ b/core/sme/src/csr/csr_api_roam.c @@ -19250,6 +19250,11 @@ void csr_process_ho_fail_ind(tpAniSirGlobal pMac, void *pMsgBuf) "LFR3:Issue Disconnect on session %d", sessionId); csr_roam_disconnect(pMac, sessionId, eCSR_DISCONNECT_REASON_ROAM_HO_FAIL); + if (pMac->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 */ -- cgit v1.2.3