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

From: Andy Shevchenko
Date: Thu Apr 07 2022 - 06:21:54 EST


On Wed, Apr 06, 2022 at 08:05:23PM +0200, Michael Walle wrote:

...

> > + 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?

Indeed, it would shadow the error code.
So, it should go with

if (IS_ERR_OR_NULL(fwnode->secondary))
return ret;

then.

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

Thanks!

--
With Best Regards,
Andy Shevchenko