Re: [PATCH v5 1/4] device property: Allow error pointer to be passed to fwnode APIs

From: Michael Walle
Date: Wed Apr 06 2022 - 16:23:43 EST


@@ -480,15 +485,19 @@ int fwnode_property_get_reference_args(const
struct fwnode_handle *fwnode,
{
int ret;

+ if (IS_ERR_OR_NULL(fwnode))
+ return -ENOENT;
+
ret = fwnode_call_int_op(fwnode, get_reference_args, prop, nargs_prop,
nargs, index, args);
+ if (ret == 0)
+ return ret;

- if (ret < 0 && !IS_ERR_OR_NULL(fwnode) &&
- !IS_ERR_OR_NULL(fwnode->secondary))
- ret = fwnode_call_int_op(fwnode->secondary, get_reference_args,
- prop, nargs_prop, nargs, index, args);
+ if (IS_ERR_OR_NULL(fwnode->secondary))
+ return -ENOENT;

Doesn't this mean you overwrite any return code != 0 with -ENOENT?
Is this intended?

In any case:
Tested-by: Michael Walle <michael@xxxxxxxx>

-michael