dmaengine: dw-axi-dmac: do not print NULL LLI during error
authorBen Dooks <ben.dooks@sifive.com>
Fri, 8 Jul 2022 17:01:52 +0000 (18:01 +0100)
committerVinod Koul <vkoul@kernel.org>
Thu, 21 Jul 2022 12:33:08 +0000 (18:03 +0530)
During debugging we have seen an issue where axi_chan_dump_lli()
is passed a NULL LLI pointer which ends up causing an OOPS due
to trying to get fields from it. Simply print NULL LLI and exit
to avoid this.

Signed-off-by: Ben Dooks <ben.dooks@sifive.com>
Link: https://lore.kernel.org/r/20220708170153.269991-3-ben.dooks@sifive.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/dw-axi-dmac/dw-axi-dmac-platform.c

index e9c9bcb..abc2a91 100644 (file)
@@ -982,6 +982,11 @@ static int dw_axi_dma_chan_slave_config(struct dma_chan *dchan,
 static void axi_chan_dump_lli(struct axi_dma_chan *chan,
                              struct axi_dma_hw_desc *desc)
 {
+       if (!desc->lli) {
+               dev_err(dchan2dev(&chan->vc.chan), "NULL LLI\n");
+               return;
+       }
+
        dev_err(dchan2dev(&chan->vc.chan),
                "SAR: 0x%llx DAR: 0x%llx LLP: 0x%llx BTS 0x%x CTL: 0x%x:%08x",
                le64_to_cpu(desc->lli->sar),