Skip to content

Commit

Permalink
dmaengine: ti: k3-udma-glue: clean up k3_udma_glue_tx_get_irq() return
Browse files Browse the repository at this point in the history
The k3_udma_glue_tx_get_irq() function currently returns negative error
codes on error, zero on error and positive values for success.  This
complicates life for the callers who need to propagate the error code.
Also GCC will not warn about unsigned comparisons when you check:

	if (unsigned_irq <= 0)

All the callers have been fixed now but let's just make this easy going
forward.

Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Reviewed-by: Roger Quadros <rogerq@kernel.org>
Acked-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Dan Carpenter authored and David S. Miller committed Oct 4, 2023
1 parent a325f17 commit f9a1d32
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 5 deletions.
3 changes: 3 additions & 0 deletions drivers/dma/ti/k3-udma-glue.c
Original file line number Diff line number Diff line change
Expand Up @@ -558,6 +558,9 @@ int k3_udma_glue_tx_get_irq(struct k3_udma_glue_tx_channel *tx_chn)
tx_chn->virq = k3_ringacc_get_ring_irq_num(tx_chn->ringtxcq);
}

if (!tx_chn->virq)
return -ENXIO;

return tx_chn->virq;
}
EXPORT_SYMBOL_GPL(k3_udma_glue_tx_get_irq);
Expand Down
4 changes: 2 additions & 2 deletions drivers/net/ethernet/ti/am65-cpsw-nuss.c
Original file line number Diff line number Diff line change
Expand Up @@ -1747,10 +1747,10 @@ static int am65_cpsw_nuss_init_tx_chns(struct am65_cpsw_common *common)
}

tx_chn->irq = k3_udma_glue_tx_get_irq(tx_chn->tx_chn);
if (tx_chn->irq <= 0) {
if (tx_chn->irq < 0) {
dev_err(dev, "Failed to get tx dma irq %d\n",
tx_chn->irq);
ret = tx_chn->irq ?: -ENXIO;
ret = tx_chn->irq;
goto err;
}

Expand Down
4 changes: 1 addition & 3 deletions drivers/net/ethernet/ti/icssg/icssg_prueth.c
Original file line number Diff line number Diff line change
Expand Up @@ -317,9 +317,7 @@ static int prueth_init_tx_chns(struct prueth_emac *emac)
}

ret = k3_udma_glue_tx_get_irq(tx_chn->tx_chn);
if (ret <= 0) {
if (!ret)
ret = -EINVAL;
if (ret < 0) {
netdev_err(ndev, "failed to get tx irq\n");
goto fail;
}
Expand Down

0 comments on commit f9a1d32

Please sign in to comment.