summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2023-06-06 21:32:46 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-06-14 16:33:37 +0800
commit48f219a2b255b211f5cf2efcfc140004a2563aaf (patch)
tree8b9b5a28265683a4ed0d6c8b3eb4414f854d0391
parentf97dbd68959fbd22bb603115025e6e3173223283 (diff)
downloadwlan-48f219a2b255b211f5cf2efcfc140004a2563aaf.tar.gz
qcacld-3.0: dump ce event hist upon fw hang event receive
Dump the CE event history and hp/tp values for CE2 and CE3 when FW hang event received. Bug: 285806723 Test: Regression Test Change-Id: I5fa8b2675e8893f19496dff02f140789b7e8f7b6 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c b/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c
index 2c8498e..a2dd000 100644
--- a/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c
+++ b/qcacld-3.0/core/hdd/src/wlan_hdd_driver_ops.c
@@ -2058,6 +2058,7 @@ wlan_hdd_pld_uevent(struct device *dev, struct pld_uevent_data *event_data)
struct qdf_notifer_data hang_evt_data;
enum qdf_hang_reason reason = QDF_REASON_UNSPECIFIED;
uint8_t bus_type;
+ void *hif_ctx = cds_get_context(QDF_MODULE_ID_HIF);
bus_type = pld_get_bus_type(dev);
@@ -2098,6 +2099,12 @@ wlan_hdd_pld_uevent(struct device *dev, struct pld_uevent_data *event_data)
case PLD_FW_HANG_EVENT:
cds_get_recovery_reason(&reason);
hdd_info("Received firmware hang event, reason: %d", reason);
+
+ if ((reason == QDF_REASON_UNSPECIFIED) && hif_ctx) {
+ hif_display_ctrl_traffic_pipes_state(hif_ctx);
+ hif_display_latest_desc_hist(hif_ctx);
+ }
+
qdf_mem_zero(&g_fw_host_hang_event, QDF_HANG_EVENT_DATA_SIZE);
hang_evt_data.hang_data = g_fw_host_hang_event;
hang_evt_data.offset = 0;