Commit 305245a2 authored by Basavaraj Natikar's avatar Basavaraj Natikar Committed by Vinod Koul
Browse files

dmaengine: ptdma: Move variable condition check to the first place and remove redundancy



The variable is dereferenced without first checking if it's null, leading
to the following warning: 'Variable dereferenced before check: desc.'

     drivers/dma/amd/ptdma/ptdma-dmaengine.c: pt_cmd_callback_work()
     warn: variable dereferenced before check 'desc'

Therefore, move the condition check for the 'desc' variable to the first
place and remove the redundant extra condition check.

Reported-by: default avatarDan Carpenter <dan.carpenter@linaro.org>
Closes: https://lore.kernel.org/all/bfa0a979-ce9f-422d-92c3-34921155d048@stanley.mountain/


Fixes: 65654398 ("dmaengine: ptdma: Utilize the AE4DMA engine's multi-queue functionality")
Signed-off-by: default avatarBasavaraj Natikar <Basavaraj.Natikar@amd.com>
Link: https://lore.kernel.org/r/20250421114215.1687073-1-Basavaraj.Natikar@amd.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 8dfa57aa
Loading
Loading
Loading
Loading
+10 −9
Original line number Diff line number Diff line
@@ -342,6 +342,9 @@ static void pt_cmd_callback_work(void *data, int err)
	struct pt_dma_chan *chan;
	unsigned long flags;

	if (!desc)
		return;

	dma_chan = desc->vd.tx.chan;
	chan = to_pt_chan(dma_chan);

@@ -355,7 +358,6 @@ static void pt_cmd_callback_work(void *data, int err)
		desc->status = DMA_ERROR;

	spin_lock_irqsave(&chan->vc.lock, flags);
	if (desc) {
	if (desc->status != DMA_COMPLETE) {
		if (desc->status != DMA_ERROR)
			desc->status = DMA_COMPLETE;
@@ -365,7 +367,6 @@ static void pt_cmd_callback_work(void *data, int err)
	} else {
		tx_desc = NULL;
	}
	}
	spin_unlock_irqrestore(&chan->vc.lock, flags);

	if (tx_desc) {