From 874aecaf06a96f5866f9bf31437a1ebd27c2f408 Mon Sep 17 00:00:00 2001 From: Joshua Bakita Date: Sun, 29 Oct 2023 13:45:28 -0400 Subject: Rather than abort, print placeholders for missing runlist channels Sometimes such "malformed" runlists appear on the TX2, yet they seem to work fine, so support printing them in full. --- runlist_procfs.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/runlist_procfs.c b/runlist_procfs.c index d9ec6eb..f7f937d 100644 --- a/runlist_procfs.c +++ b/runlist_procfs.c @@ -119,8 +119,9 @@ static int runlist_file_seq_show(struct seq_file *s, void *raw_rl_iter) { struct nvdebug_state *g = &g_nvdebug_state[file2parentgpuidx(s->file)]; if (entry_type(g, entry) == ENTRY_TYPE_TSG) { if (rl_iter->channels_left_in_tsg) { - printk(KERN_WARNING "[nvdebug] Found a TSG @ %px when %d channels were still expected under the previous TSG in the runlist!\n", entry, rl_iter->channels_left_in_tsg); - return -EIO; + printk(KERN_WARNING "[nvdebug] Found TSG ID%d @ %px when %d channels were still expected under the previous TSG in the runlist!\n", tsgid(g, entry), entry, rl_iter->channels_left_in_tsg); + while (rl_iter->channels_left_in_tsg--) + seq_printf(s, "[missing channel]\n"); } rl_iter->channels_left_in_tsg = tsg_length(g, entry); seq_printf(s, "+---- TSG Entry %-3d---+\n", tsgid(g, entry)); -- cgit v1.2.2