QNX: Fix Trace Dump Core ID Bug
authorAngela Stegmaier <angelabaker@ti.com>
Tue, 29 Sep 2015 21:24:27 +0000 (16:24 -0500)
committerAngela Stegmaier <angelabaker@ti.com>
Thu, 1 Oct 2015 22:30:49 +0000 (17:30 -0500)
During error recovery, the IPC resource manager will dump
the current traces for each remote core to a log file, if
a log file was specified when launching the IPC. At the
beginning of each core's trace dump, a header is printed
to identify which core's traces were being printed. This
trace was incorrectly using "i" instead of "id" to index
the firmware array, resulting in an incorrect remote core
id being printed in the header. This could even index the
array beyond the valid range and cause a crash in IPC.

This patch fixes the index so that it uses the proper
variable ("id"), and also modifies the header to print
the more user-friendly remote proc name instead of the
remote proc ID.

Signed-off-by: Angela Stegmaier <angelabaker@ti.com>
qnx/src/ipc3x_dev/ti/syslink/build/Qnx/resmgr/syslink_main.c

index 11a8bd07a3bf325ea1c158a721157d44c4a34cdf..376f146e0f712dea7c1ea612c3ae62ddea0b9f80 100644 (file)
@@ -1495,8 +1495,8 @@ int deinit_ipc(ipc_dev_t * dev, ipc_firmware_info * firmware,
                         if (proc_traces[id].va) {
                             /* print traces */
                             fprintf(log, "*************************************\n");
-                            fprintf(log, "***       CORE%d TRACE DUMP        ***\n",
-                                firmware[i].proc_id);
+                            fprintf(log, "***        %s TRACE DUMP        ***\n",
+                                firmware[id].proc);
                             fprintf(log, "*************************************\n");
                             for (i = (*proc_traces[id].widx + 1);
                                 i < (proc_traces[id].len - 8);