[U-Boot] [PATCH 3/4] lib: decode_timing_property should return -NOENT when proprty is not found
Ondřej Jirman
megous at megous.com
Tue Feb 19 21:43:11 UTC 2019
Hi,
On Tue, Feb 19, 2019 at 07:17:01AM -0800, Simon Glass wrote:
> Hi,
>
> On Sat, 9 Feb 2019 at 06:44, <megous at megous.com> wrote:
> >
> > From: Ondrej Jirman <megous at megous.com>
> >
> > Length may be unitialized when fdt_getprop fails.
>
> Not according to the docs:
>
> * if lenp is non-NULL, *lenp contains the length of the property
> * value (>=0)
> * NULL, on error
> * if lenp is non-NULL, *lenp contains an error code (<0):
> * -FDT_ERR_NOTFOUND, node does not have named property
> * -FDT_ERR_BADOFFSET, nodeoffset did not point to FDT_BEGIN_NODE
> * tag
> * -FDT_ERR_BADMAGIC,
> * -FDT_ERR_BADVERSION,
> * -FDT_ERR_BADSTATE,
> * -FDT_ERR_BADSTRUCTURE,
> * -FDT_ERR_TRUNCATED, standard meanings
Ah, you're right.
> I suspect there might be a bug. Can you provide a few more details?
The return value of multiple decode_timing_property() calls is ORed together in
such a way in fdtdec_decode_display_timing() that it's pretty meaningless what
it is for each call, other than that it's < 0.
So you can ignore this patch.
regards,
o.
> >
> > Signed-off-by: Ondřej Jirman <megous at megous.com>
> > ---
> > lib/fdtdec.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> > index 18663ce6bd..3510de78e1 100644
> > --- a/lib/fdtdec.c
> > +++ b/lib/fdtdec.c
> > @@ -980,7 +980,7 @@ static int decode_timing_property(const void *blob, int node, const char *name,
> > if (!prop) {
> > debug("%s: could not find property %s\n",
> > fdt_get_name(blob, node, NULL), name);
> > - return length;
> > + return -ENOENT;
> > }
> >
> > if (length == sizeof(u32)) {
> > --
> > 2.20.1
> >
>
> Regards,
> Simon
More information about the U-Boot
mailing list