staging: iio: adc: fix error return code in ad7606_par_probe()
Subsystems (4)
PATCH 1/1 staging: iio: adc: fix error return code in ad7606_par_probe()
platform_get_irq() returns an error code, but the ad7606_par driver ignores it and always returns -ENODEV. This is not correct and, prevents -EPROBE_DEFER from being propagated properly.
Print and propagate the return value of platform_get_irq on failure.
This issue was detected with the help of Coccinelle.
--- drivers/staging/iio/adc/ad7606_par.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
drivers/staging/iio/adc/ad7606_par.c +2 -2
@@ -57,8 +57,8 @@ static int ad7606_par_probe(struct platform_device *pdev) irq =platform_get_irq (pdev,0 );if (irq <0 ) { -dev_err (&pdev->dev,"no irq\n" ); -return -ENODEV ; +dev_err (&pdev->dev,"no irq: %d\n" , irq); +return irq; } res =platform_get_resource (pdev,IORESOURCE_MEM ,0 );
Signature · 1 line
2.5.0
Quoted 9 lines · On Wed, 9 Aug 2017 10:38:56 -0500 "Gustavo A. R. Silva"…
platform_get_irq()returns an error code, but thead7606_pardriver ignores it and always returns-ENODEV. This is not correct and, prevents -EPROBE_DEFER from being propagated properly.Print and propagate the return value of
platform_get_irqon failure.This issue was detected with the help of Coccinelle.
Signed-off-by Gustavo A. R. Silva <[email protected]>
Applied to the togreg branch of iio.git.
As we have no reports of anyone actually finding this a problem I'm taking it the slow way and it will wait for the next merge window.
Thanks,
Jonathan
Quoted 19 lines
--- drivers/staging/iio/adc/ad7606_par.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)drivers/staging/iio/adc/ad7606_par.c +2
-2@@ -57,8 +57,8 @@ static int ad7606_par_probe(struct platform_device *pdev) irq =platform_get_irq (pdev,0 );if (irq <0 ) { -dev_err (&pdev->dev,"no irq\n" ); -return -ENODEV ; +dev_err (&pdev->dev,"no irq: %d\n" , irq); +return irq; } res =platform_get_resource (pdev,IORESOURCE_MEM ,0 );