[U-Boot] [PATCH 1/3] dm: device: fail uclass_find_first_device() if list_empty

Marcel Ziswiler marcel.ziswiler at toradex.com
Fri Jan 25 11:23:43 UTC 2019


Hi Simon

On Fri, 2019-01-25 at 09:18 +1300, Simon Glass wrote:
> Hi Marcel,
> 
> On Fri, 25 Jan 2019 at 03:30, Marcel Ziswiler <marcel at ziswiler.com>
> wrote:
> > From: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> > 
> > While uclass_find_device() fails with -ENODEV in case of list_empty
> > strangely uclass_find_first_device() returns 0.
> > 
> > Fix uclass_find_first_device() to also fail with -ENODEV instead.
> 
> The fix sees OK to me. I assume that 'make qcheck' still passes.

Yes, certainly.

This means it did not check for this so far.

> But can you please update dm_test_uclass_devices_find() to test this
> behaviour?

OK, will do so for v2.

> > Signed-off-by: Marcel Ziswiler <marcel.ziswiler at toradex.com>
> > 
> > ---
> > 
> >  drivers/core/uclass.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/drivers/core/uclass.c b/drivers/core/uclass.c
> > index a622f07941..fc3157de39 100644
> > --- a/drivers/core/uclass.c
> > +++ b/drivers/core/uclass.c
> > @@ -225,7 +225,7 @@ int uclass_find_first_device(enum uclass_id id,
> > struct udevice **devp)
> >         if (ret)
> >                 return ret;
> >         if (list_empty(&uc->dev_head))
> > -               return 0;
> > +               return -ENODEV;
> > 
> >         *devp = list_first_entry(&uc->dev_head, struct udevice,
> > uclass_node);
> > 
> > --
> > 2.20.1
> > 
> 
> Regards,
> Simon

Cheers

Marcel


More information about the U-Boot mailing list