* [PATCH] net: mv643xx_eth: Propagate errors from of_irq_to_resource()
@ 2021-12-17 0:35 Lad Prabhakar
2021-12-17 0:47 ` Lad, Prabhakar
0 siblings, 1 reply; 2+ messages in thread
From: Lad Prabhakar @ 2021-12-17 0:35 UTC (permalink / raw)
To: Sebastian Hesselbarth, David S. Miller, Jakub Kicinski, netdev
Cc: linux-kernel, Prabhakar, Lad Prabhakar
The driver overrides the error code returned by of_irq_to_resource() to
-EINVAL. Switch to propagating the error code upstream so that errors
such as -EPROBE_DEFER are handled.
While at it drop the memset() operation as of_irq_to_resource()
does call memset() before filling in the IRQ resource.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/net/ethernet/marvell/mv643xx_eth.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
index 105247582684..7a5ff629d158 100644
--- a/drivers/net/ethernet/marvell/mv643xx_eth.c
+++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
@@ -2716,10 +2716,10 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev,
memset(&ppd, 0, sizeof(ppd));
ppd.shared = pdev;
- memset(&res, 0, sizeof(res));
- if (of_irq_to_resource(pnp, 0, &res) <= 0) {
+ ret = of_irq_to_resource(pnp, 0, &res);
+ if (ret <= 0) {
dev_err(&pdev->dev, "missing interrupt on %pOFn\n", pnp);
- return -EINVAL;
+ return ret ? ret : -ENXIO;
}
if (of_property_read_u32(pnp, "reg", &ppd.port_number)) {
--
2.17.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] net: mv643xx_eth: Propagate errors from of_irq_to_resource()
2021-12-17 0:35 [PATCH] net: mv643xx_eth: Propagate errors from of_irq_to_resource() Lad Prabhakar
@ 2021-12-17 0:47 ` Lad, Prabhakar
0 siblings, 0 replies; 2+ messages in thread
From: Lad, Prabhakar @ 2021-12-17 0:47 UTC (permalink / raw)
To: Lad Prabhakar
Cc: Sebastian Hesselbarth, David S. Miller, Jakub Kicinski, netdev, LKML
Hi All,
On Fri, Dec 17, 2021 at 12:35 AM Lad Prabhakar
<prabhakar.mahadev-lad.rj@bp.renesas.com> wrote:
>
> The driver overrides the error code returned by of_irq_to_resource() to
> -EINVAL. Switch to propagating the error code upstream so that errors
> such as -EPROBE_DEFER are handled.
>
> While at it drop the memset() operation as of_irq_to_resource()
> does call memset() before filling in the IRQ resource.
>
> Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> ---
> drivers/net/ethernet/marvell/mv643xx_eth.c | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
Please ignore this patch, as the plan is to drop all the users
of_irq_to_resource() (see [0]). I'll send a new patch which uses the
preferred way of platform_get_irq().
[0] https://patchwork.ozlabs.org/project/linux-ide/patch/20211217001238.16298-1-prabhakar.mahadev-lad.rj@bp.renesas.com/
Cheers,
Prabhakar
> diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c
> index 105247582684..7a5ff629d158 100644
> --- a/drivers/net/ethernet/marvell/mv643xx_eth.c
> +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c
> @@ -2716,10 +2716,10 @@ static int mv643xx_eth_shared_of_add_port(struct platform_device *pdev,
> memset(&ppd, 0, sizeof(ppd));
> ppd.shared = pdev;
>
> - memset(&res, 0, sizeof(res));
> - if (of_irq_to_resource(pnp, 0, &res) <= 0) {
> + ret = of_irq_to_resource(pnp, 0, &res);
> + if (ret <= 0) {
> dev_err(&pdev->dev, "missing interrupt on %pOFn\n", pnp);
> - return -EINVAL;
> + return ret ? ret : -ENXIO;
> }
>
> if (of_property_read_u32(pnp, "reg", &ppd.port_number)) {
> --
> 2.17.1
>
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2021-12-17 0:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-17 0:35 [PATCH] net: mv643xx_eth: Propagate errors from of_irq_to_resource() Lad Prabhakar
2021-12-17 0:47 ` Lad, Prabhakar
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.