summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHsiu-Chang Chen <hsiuchangchen@google.com>2023-01-16 15:25:11 +0530
committerHsiu-Chang Chen <hsiuchangchen@google.com>2023-03-20 10:07:09 +0800
commit0b4913c84ae411d4f5cfc355349369ed6778c156 (patch)
tree5eb27163ee45be9d41e0d7db2a366dd1d6b1b508
parent652129a2643867deeb06308d43bd431db5e7aeaa (diff)
downloadwlan-0b4913c84ae411d4f5cfc355349369ed6778c156.tar.gz
qcacmn: Trigger recovery incase of scheduler watchdog timeout
Trigger recovery instead of the apps panic incase of scheduler watchdog timeout, so that the current logs are captured to analyze the issue. Bug: 267416490 Test: Regression test Change-Id: I44a61bc5630c4866b9d9b18f7a7ba6221ca6e355 CRs-Fixed: 3312328 Signed-off-by: Hsiu-Chang Chen <hsiuchangchen@google.com>
-rw-r--r--qca-wifi-host-cmn/qdf/inc/qdf_types.h4
-rw-r--r--qca-wifi-host-cmn/scheduler/src/scheduler_api.c4
2 files changed, 6 insertions, 2 deletions
diff --git a/qca-wifi-host-cmn/qdf/inc/qdf_types.h b/qca-wifi-host-cmn/qdf/inc/qdf_types.h
index 46fd3b5..ca34893 100644
--- a/qca-wifi-host-cmn/qdf/inc/qdf_types.h
+++ b/qca-wifi-host-cmn/qdf/inc/qdf_types.h
@@ -1,6 +1,6 @@
/*
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
- * Copyright (c) 2021-2022 Qualcomm Innovation Center, Inc. All rights reserved.
+ * Copyright (c) 2021-2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -1414,6 +1414,7 @@ enum qdf_suspend_type {
* @QDF_STATS_REQ_TIMEDOUT: Stats request timedout
* @QDF_RSO_STOP_RSP_TIMEOUT: Firmware hasn't sent RSO stop response
* @QDF_HOST_WAKEUP_REASON_PAGEFAULT: Host wakeup because of pagefault
+ * @QDF_SCHED_TIMEOUT: Scheduler watchdog timedout
*/
enum qdf_hang_reason {
QDF_REASON_UNSPECIFIED,
@@ -1447,6 +1448,7 @@ enum qdf_hang_reason {
QDF_TX_DESC_LEAK,
QDF_RSO_STOP_RSP_TIMEOUT,
QDF_HOST_WAKEUP_REASON_PAGEFAULT,
+ QDF_SCHED_TIMEOUT,
};
/**
diff --git a/qca-wifi-host-cmn/scheduler/src/scheduler_api.c b/qca-wifi-host-cmn/scheduler/src/scheduler_api.c
index 20a84a6..3b7951b 100644
--- a/qca-wifi-host-cmn/scheduler/src/scheduler_api.c
+++ b/qca-wifi-host-cmn/scheduler/src/scheduler_api.c
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2014-2021 The Linux Foundation. All rights reserved.
+ * Copyright (c) 2023 Qualcomm Innovation Center, Inc. All rights reserved.
*
* Permission to use, copy, modify, and/or distribute this software for
* any purpose with or without fee is hereby granted, provided that the
@@ -83,7 +84,8 @@ static void scheduler_watchdog_timeout(void *arg)
if (qdf_atomic_test_bit(MC_SHUTDOWN_EVENT_MASK, &sched->sch_event_flag))
return;
- SCHED_DEBUG_PANIC("Going down for Scheduler Watchdog Bite!");
+ sched_err("Triggering self recovery on sheduler timeout");
+ qdf_trigger_self_recovery(NULL, QDF_SCHED_TIMEOUT);
}
QDF_STATUS scheduler_enable(void)