diff options
author | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-01-16 15:25:11 +0530 |
---|---|---|
committer | Hsiu-Chang Chen <hsiuchangchen@google.com> | 2023-03-20 10:07:09 +0800 |
commit | 0b4913c84ae411d4f5cfc355349369ed6778c156 (patch) | |
tree | 5eb27163ee45be9d41e0d7db2a366dd1d6b1b508 | |
parent | 652129a2643867deeb06308d43bd431db5e7aeaa (diff) | |
download | wlan-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.h | 4 | ||||
-rw-r--r-- | qca-wifi-host-cmn/scheduler/src/scheduler_api.c | 4 |
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) |