Commit 1bb0b8b1 authored by Miaoqian Lin's avatar Miaoqian Lin Committed by Nishanth Menon
Browse files

soc: ti: knav_dma: Fix NULL vs IS_ERR() checking in dma_init



Since devm_ioremap_resource() function return error pointers.
The pktdma_get_regs() function does not return NULL, It return error
pointers too. Using IS_ERR() to check the return value to fix this.

Signed-off-by: default avatarMiaoqian Lin <linmq006@gmail.com>
Signed-off-by: default avatarNishanth Menon <nm@ti.com>
Link: https://lore.kernel.org/r/20211214015544.7270-1-linmq006@gmail.com
parent a34ff76a
Loading
Loading
Loading
Loading
+10 −10
Original line number Diff line number Diff line
@@ -646,31 +646,31 @@ static int dma_init(struct device_node *cloud, struct device_node *dma_node)
	}

	dma->reg_global	 = pktdma_get_regs(dma, node, 0, &size);
	if (!dma->reg_global)
		return -ENODEV;
	if (IS_ERR(dma->reg_global))
		return PTR_ERR(dma->reg_global);
	if (size < sizeof(struct reg_global)) {
		dev_err(kdev->dev, "bad size %pa for global regs\n", &size);
		return -ENODEV;
	}

	dma->reg_tx_chan = pktdma_get_regs(dma, node, 1, &size);
	if (!dma->reg_tx_chan)
		return -ENODEV;
	if (IS_ERR(dma->reg_tx_chan))
		return PTR_ERR(dma->reg_tx_chan);

	max_tx_chan = size / sizeof(struct reg_chan);
	dma->reg_rx_chan = pktdma_get_regs(dma, node, 2, &size);
	if (!dma->reg_rx_chan)
		return -ENODEV;
	if (IS_ERR(dma->reg_rx_chan))
		return PTR_ERR(dma->reg_rx_chan);

	max_rx_chan = size / sizeof(struct reg_chan);
	dma->reg_tx_sched = pktdma_get_regs(dma, node, 3, &size);
	if (!dma->reg_tx_sched)
		return -ENODEV;
	if (IS_ERR(dma->reg_tx_sched))
		return PTR_ERR(dma->reg_tx_sched);

	max_tx_sched = size / sizeof(struct reg_tx_sched);
	dma->reg_rx_flow = pktdma_get_regs(dma, node, 4, &size);
	if (!dma->reg_rx_flow)
		return -ENODEV;
	if (IS_ERR(dma->reg_rx_flow))
		return PTR_ERR(dma->reg_rx_flow);

	max_rx_flow = size / sizeof(struct reg_rx_flow);
	dma->rx_priority = DMA_PRIO_DEFAULT;