From ed22a65b66932dca63b48aa57daf598208cdd4df Mon Sep 17 00:00:00 2001 From: Dustin Brown Date: Thu, 16 Aug 2018 10:22:31 -0700 Subject: [PATCH] qcacmn: Add caller/line info to recovery log To speed up recovery trigger debugging, pass the caller's function name and line number, such that the group needing to do the initial triage can be easily identified via the panic message. Change-Id: I64f62ec30de657deeff037ee99610e716cfc4377 CRs-Fixed: 2298195 --- qdf/inc/qdf_platform.h | 11 +++++++++-- qdf/src/qdf_platform.c | 6 +++--- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/qdf/inc/qdf_platform.h b/qdf/inc/qdf_platform.h index 806d3d3a242f..1c6ae8642d17 100644 --- a/qdf/inc/qdf_platform.h +++ b/qdf/inc/qdf_platform.h @@ -26,10 +26,15 @@ /** * qdf_self_recovery_callback() - callback for self recovery + * @reason: the reason for the recovery request + * @func: the caller's function name + * @line: the line number of the callsite * * Return: none */ -typedef void (*qdf_self_recovery_callback)(enum qdf_hang_reason); +typedef void (*qdf_self_recovery_callback)(enum qdf_hang_reason reason, + const char *func, + const uint32_t line); /** * qdf_ssr_callback() - callback for ssr @@ -81,7 +86,9 @@ void qdf_register_self_recovery_callback(qdf_self_recovery_callback callback); * * Return: None */ -void qdf_trigger_self_recovery(void); +#define qdf_trigger_self_recovery() \ + __qdf_trigger_self_recovery(__func__, __LINE__) +void __qdf_trigger_self_recovery(const char *func, const uint32_t line); /** * qdf_register_ssr_protect_callbacks() - register [un]protect callbacks diff --git a/qdf/src/qdf_platform.c b/qdf/src/qdf_platform.c index 7e917debf611..ff8ae282b447 100644 --- a/qdf/src/qdf_platform.c +++ b/qdf/src/qdf_platform.c @@ -57,13 +57,13 @@ void qdf_register_self_recovery_callback(qdf_self_recovery_callback callback) qdf_export_symbol(qdf_register_self_recovery_callback); -void qdf_trigger_self_recovery(void) +void __qdf_trigger_self_recovery(const char *func, const uint32_t line) { if (self_recovery_cb) - self_recovery_cb(QDF_REASON_UNSPECIFIED); + self_recovery_cb(QDF_REASON_UNSPECIFIED, func, line); } -qdf_export_symbol(qdf_trigger_self_recovery); +qdf_export_symbol(__qdf_trigger_self_recovery); void qdf_register_ssr_protect_callbacks(qdf_ssr_callback protect, qdf_ssr_callback unprotect)