rproc_trace_read() (in remoteproc_debugfs.c) prints the name of a
trace buffer whose device address could not be resolved, but nothing
ever assigns trace_mem.name, so that the diagnostics always prints
an empty string:

        Trace  not available

Copy the generated "trace%d" name into the memory entry, so the
diagnostics identifies the buffer failed to translate.

Fixes: a987e6b91a5a ("remoteproc: fix trace buffer va initialization")
Assisted-by: Claude-Code:glm-5.3
Signed-off-by: Yonghao Zhang <[email protected]>
---
 drivers/remoteproc/remoteproc_core.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/remoteproc/remoteproc_core.c 
b/drivers/remoteproc/remoteproc_core.c
index 1ed406714849..263e12f022ea 100644
--- a/drivers/remoteproc/remoteproc_core.c
+++ b/drivers/remoteproc/remoteproc_core.c
@@ -574,6 +574,9 @@ static int rproc_handle_trace(struct rproc *rproc, void 
*ptr,
        /* create the debugfs entry */
        trace->tfile = rproc_create_trace_file(name, rproc, trace);
 
+       /* keep the name for the diagnostic in rproc_trace_read() */
+       strscpy(trace->trace_mem.name, name, sizeof(trace->trace_mem.name));
+
        list_add_tail(&trace->node, &rproc->traces);
 
        rproc->num_traces++;
-- 
2.34.1


Reply via email to