On Wed, 29 Jul 2020 03:17:39 +0200,
Luis Chamberlain wrote:
> 
> Long ago Takashi had some points about this strategy breaking
> compressed file use. Was that considered?

As long as I read the patch, it tries to skip both the compressed and
the fallback loading when FW_OPT_PARTIAL is set, which is good.

However...

> > @@ -771,18 +805,20 @@ _request_firmware(const struct firmware **firmware_p, 
> > const char *name,
> >     }
> >  
> >     ret = _request_firmware_prepare(&fw, name, device, buf, size,
> > -                                   opt_flags);
> > +                                   offset, opt_flags);
> >     if (ret <= 0) /* error or already assigned */
> >             goto out;
> >  
> >     ret = fw_get_filesystem_firmware(device, fw->priv, "", NULL);
> > -#ifdef CONFIG_FW_LOADER_COMPRESS
> > -   if (ret == -ENOENT)
> > +
> > +   /* Only full reads can support decompression, platform, and sysfs. */
> > +   if (!(opt_flags & FW_OPT_PARTIAL))
> > +           nondirect = true;
> > +
> > +   if (ret == -ENOENT && nondirect)
> >             ret = fw_get_filesystem_firmware(device, fw->priv, ".xz",
> >                                              fw_decompress_xz);
> > -#endif

... by dropping this ifdef, the fw loader would try to access *.xz
file unnecessarily even if CONFIG_FW_LOADER_COMPRESS is disabled.


thanks,

Takashi

Reply via email to