[U-Boot] [U-Boot, 1/2] env: common: Return specific error code on bad CRC

Tom Rini trini at konsulko.com
Sun Jan 27 03:53:05 UTC 2019


On Fri, Jan 18, 2019 at 09:19:03PM +0200, Sam Protsenko wrote:

> Callers of env_import*() functions might want to check the case when we
> have incorrect environment (with bad CRC). For example, when environment
> location is being defined in env_load(), call chain may look like this:
> 
>     env_load() -> drv->load() = env_mmc_load() -> env_import()
> 
> Return code will be passed from env_import() all way up to env_load().
> Right now both env_mmc_load() and env_import() return -EIO error code,
> so env_load() can't differentiate between two cases:
>   1. Driver reports the error, because device is not accessible
>   2. Device is actually accessible, but environment is broken
> 
> Let's return -ENOMSG in env_import(), so we can distinguish two cases
> mentioned above. It will make it possible to continue working with "bad
> CRC" environment (like doing "env save"), instead of considering it not
> functional (implemented in subsequent patch).
> 
> Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
> Reviewed-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>

Applied to u-boot/master, thanks!

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20190126/b675d469/attachment.sig>


More information about the U-Boot mailing list