On Tue, Mar 03, 2026 at 01:38:03PM +0000, Daniel Golle wrote:
> On Tue, Mar 03, 2026 at 02:29:08PM +0100, Christian Marangi wrote:
> > When dev_get_priv errors out, the ubifs is not unbounted (if used)
> 
> I don't understand why or where UBIFS is being used here.
> Did you mean to say "UBI is not attached"?
> UBI != UBIFS.
>

Function that is not called is umount_ubifs. That calls cmd_ubifs_umount.
unbounted is a typo for unmounted.

Probably the confusion is present already in the FS loader driver where ubi
needed to be used instead of ubifs?

There are mount_ubifs and umount_ubifs but they should have been mount_ubi and
umount_ubi ? But then they use ubifs cmd OPs. I'm a bit confused here.
 
> > 
> > Correctly handle this handle condition and while at it also return -EINVAL
> > instead of -ENOMEM as a better error since no memory is allocated but is
> > actually an invalid scenario for fw_get_filesystem_firmware().
> > 
> > Signed-off-by: Christian Marangi <[email protected]>
> > ---
> >  drivers/misc/fs_loader.c | 6 ++++--
> >  1 file changed, 4 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/misc/fs_loader.c b/drivers/misc/fs_loader.c
> > index 2928cf75f89e..7e432a7ebd62 100644
> > --- a/drivers/misc/fs_loader.c
> > +++ b/drivers/misc/fs_loader.c
> > @@ -178,8 +178,10 @@ static int fw_get_filesystem_firmware(struct udevice 
> > *dev)
> >  
> >     struct firmware *firmwarep = dev_get_priv(dev);
> >  
> > -   if (!firmwarep)
> > -           return -ENOMEM;
> > +   if (!firmwarep) {
> > +           ret = -EINVAL;
> > +           goto out;
> > +   }
> >  
> >     ret = fs_read(firmwarep->name, (ulong)map_to_sysmem(firmwarep->data),
> >                     firmwarep->offset, firmwarep->size, &actread);
> > -- 
> > 2.51.0
> > 

-- 
        Ansuel

Reply via email to