[PATCH] net: smc91x: propagate irq return code

Subsystems: networking drivers, smc91x ethernet driver, the rest

STALE3853d

2 messages, 2 authors, 2016-02-01 · open the first message on its own page

[PATCH] net: smc91x: propagate irq return code

From: Robert Jarzmik <robert.jarzmik@free.fr>
Date: 2016-01-31 22:46:27

The smc91x driver doesn't honor the probe deferral mechanism when the
interrupt source is not yet available, such as one provided by a gpio
controller not probed.

Fix this by propagating the platform_get_irq() error code as the probe
return value.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
 drivers/net/ethernet/smsc/smc91x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/smsc/smc91x.c b/drivers/net/ethernet/smsc/smc91x.c
index 0e2fc1a844ab..43ab7aa31a79 100644
--- a/drivers/net/ethernet/smsc/smc91x.c
+++ b/drivers/net/ethernet/smsc/smc91x.c
@@ -2343,7 +2343,7 @@ static int smc_drv_probe(struct platform_device *pdev)
 
 	ndev->irq = platform_get_irq(pdev, 0);
 	if (ndev->irq <= 0) {
-		ret = -ENODEV;
+		ret = ndev->irq;
 		goto out_release_io;
 	}
 	/*
-- 
2.1.4

Re: [PATCH] net: smc91x: propagate irq return code

From: Sergei Shtylyov <hidden>
Date: 2016-02-01 12:36:35

Hello.

On 2/1/2016 1:46 AM, Robert Jarzmik wrote:
quoted hunk
The smc91x driver doesn't honor the probe deferral mechanism when the
interrupt source is not yet available, such as one provided by a gpio
controller not probed.

Fix this by propagating the platform_get_irq() error code as the probe
return value.

Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
---
  drivers/net/ethernet/smsc/smc91x.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/smsc/smc91x.c b/drivers/net/ethernet/smsc/smc91x.c
index 0e2fc1a844ab..43ab7aa31a79 100644
--- a/drivers/net/ethernet/smsc/smc91x.c
+++ b/drivers/net/ethernet/smsc/smc91x.c
@@ -2343,7 +2343,7 @@ static int smc_drv_probe(struct platform_device *pdev)

  	ndev->irq = platform_get_irq(pdev, 0);
  	if (ndev->irq <= 0) {
-		ret = -ENODEV;
+		ret = ndev->irq;
    What if 'ndev->irq' does equal 0?

MBR, Sergei
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help