Message ID | 20200212183021.4844-4-patrick.delaunay@st.com |
---|---|
State | Superseded |
Headers | show |
Series | | expand |
diff --git a/env/env.c b/env/env.c index 9237bb9c74..e4df1715e4 100644 --- a/env/env.c +++ b/env/env.c @@ -292,7 +292,10 @@ int env_init(void) int prio; for (prio = 0; (drv = env_driver_lookup(ENVOP_INIT, prio)); prio++) { - if (!drv->init || !(ret = drv->init())) + ret = 0; + if (drv->init) + ret = drv->init(); + if (!ret) env_set_inited(drv->location); debug("%s: Environment %s init done (ret=%d)\n", __func__,
Don't return error with ret=-ENOENT when the optional ops drv->init is absent but only if env_driver_lookup don't found driver. This patch correct an issue for the code if (!env_init()) env_load() When only ext4 is supported (CONFIG_ENV_IS_IN_EXT4), as the backend env/ext4.c doesn't define an ops .init Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com> --- env/env.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-)