[patch] powerpc/fsl_rio: fix a missing error code

Subsystems: linux for powerpc (32-bit and 64-bit), the rest

STALE3654d

3 messages, 2 authors, 2016-08-05 · open the first message on its own page

[patch] powerpc/fsl_rio: fix a missing error code

From: Dan Carpenter <hidden>
Date: 2016-08-04 05:36:30

We should set the error code here.  Otherwise static checkers complain.

Signed-off-by: Dan Carpenter <redacted>
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index 984e816..68e7c0d 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -491,6 +491,7 @@ int fsl_rio_setup(struct platform_device *dev)
 	rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0);
 	if (!rmu_node) {
 		dev_err(&dev->dev, "No valid fsl,srio-rmu-handle property\n");
+		rc = -ENOENT;
 		goto err_rmu;
 	}
 	rc = of_address_to_resource(rmu_node, 0, &rmu_regs);

Re: [patch] powerpc/fsl_rio: fix a missing error code

From: Andrew Morton <akpm@linux-foundation.org>
Date: 2016-08-04 20:16:03

On Thu, 4 Aug 2016 08:35:25 +0300 Dan Carpenter [off-list ref] wrote:
We should set the error code here.  Otherwise static checkers complain.
hm.
quoted hunk
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -491,6 +491,7 @@ int fsl_rio_setup(struct platform_device *dev)
 	rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0);
 	if (!rmu_node) {
 		dev_err(&dev->dev, "No valid fsl,srio-rmu-handle property\n");
+		rc = -ENOENT;
 		goto err_rmu;
 	}
 	rc = of_address_to_resource(rmu_node, 0, &rmu_regs);
afaict the function will return 0 in this case, which is a flat out
bug.  But why do static checkers complain?  The code will return a
suitably initialized value?

IOW, please always quote the checker/compiler output when fixing a bug!

Re: [patch] powerpc/fsl_rio: fix a missing error code

From: Dan Carpenter <hidden>
Date: 2016-08-05 20:29:13

On Thu, Aug 04, 2016 at 01:16:00PM -0700, Andrew Morton wrote:
On Thu, 4 Aug 2016 08:35:25 +0300 Dan Carpenter [off-list ref] wrote:
quoted
We should set the error code here.  Otherwise static checkers complain.
hm.
quoted
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -491,6 +491,7 @@ int fsl_rio_setup(struct platform_device *dev)
 	rmu_node = of_parse_phandle(dev->dev.of_node, "fsl,srio-rmu-handle", 0);
 	if (!rmu_node) {
 		dev_err(&dev->dev, "No valid fsl,srio-rmu-handle property\n");
+		rc = -ENOENT;
 		goto err_rmu;
 	}
 	rc = of_address_to_resource(rmu_node, 0, &rmu_regs);
afaict the function will return 0 in this case, which is a flat out
bug.  But why do static checkers complain?  The code will return a
suitably initialized value?

IOW, please always quote the checker/compiler output when fixing a bug!
Coccinelle has a check for missing error codes and I'm working on one
for Smatch as well.

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