Browse Source

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
Agrawal Ashish 8 years ago
parent
commit
c416da60c5

+ 4 - 0
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
 };
 
 

+ 10 - 0
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);
 	}

+ 5 - 0
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 */