[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <3d0aef75-06e0-45a5-a2a6-2cc4738d4143@moroto.mountain>
Date: Mon, 31 Jul 2023 10:42:32 +0300
From: Dan Carpenter <dan.carpenter@...aro.org>
To: Esben Haabendal <esben@...nix.com>
Cc: "David S. Miller" <davem@...emloft.net>,
Eric Dumazet <edumazet@...gle.com>,
Jakub Kicinski <kuba@...nel.org>, Paolo Abeni <pabeni@...hat.com>,
Michal Simek <michal.simek@....com>,
Harini Katakam <harini.katakam@....com>,
Haoyue Xu <xuhaoyue1@...ilicon.com>,
huangjunxian <huangjunxian6@...ilicon.com>,
Yang Yingliang <yangyingliang@...wei.com>,
Rob Herring <robh@...nel.org>, netdev@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: [PATCH net] net: ll_temac: fix error checking of
irq_of_parse_and_map()
Most kernel functions return negative error codes but some irq functions
return zero on error. In this code irq_of_parse_and_map(), returns zero
and platform_get_irq() returns negative error codes. We need to handle
both cases appropriately.
Fixes: 8425c41d1ef7 ("net: ll_temac: Extend support to non-device-tree platforms")
Signed-off-by: Dan Carpenter <dan.carpenter@...aro.org>
---
drivers/net/ethernet/xilinx/ll_temac_main.c | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/xilinx/ll_temac_main.c b/drivers/net/ethernet/xilinx/ll_temac_main.c
index e0ac1bcd9925..49f303353ecb 100644
--- a/drivers/net/ethernet/xilinx/ll_temac_main.c
+++ b/drivers/net/ethernet/xilinx/ll_temac_main.c
@@ -1567,12 +1567,16 @@ static int temac_probe(struct platform_device *pdev)
}
/* Error handle returned DMA RX and TX interrupts */
- if (lp->rx_irq < 0)
- return dev_err_probe(&pdev->dev, lp->rx_irq,
+ if (lp->rx_irq <= 0) {
+ rc = lp->rx_irq ?: -EINVAL;
+ return dev_err_probe(&pdev->dev, rc,
"could not get DMA RX irq\n");
- if (lp->tx_irq < 0)
- return dev_err_probe(&pdev->dev, lp->tx_irq,
+ }
+ if (lp->tx_irq <= 0) {
+ rc = lp->tx_irq ?: -EINVAL;
+ return dev_err_probe(&pdev->dev, rc,
"could not get DMA TX irq\n");
+ }
if (temac_np) {
/* Retrieve the MAC address */
--
2.39.2
Powered by blists - more mailing lists