
Free the SPI resources by calling spi_flash_free() in each env sf function to avoid issue for other SPI users.
Signed-off-by: Patrick Delaunay patrick.delaunay@foss.st.com ---
env/sf.c | 9 +++++++++ 1 file changed, 9 insertions(+)
diff --git a/env/sf.c b/env/sf.c index 6b61a4b8de..acbd712aef 100644 --- a/env/sf.c +++ b/env/sf.c @@ -149,6 +149,9 @@ static int env_sf_save(void) printf("Valid environment: %d\n", (int)gd->env_valid);
done: + spi_flash_free(env_flash); + env_flash = NULL; + if (saved_buffer) free(saved_buffer);
@@ -246,6 +249,9 @@ static int env_sf_save(void) puts("done\n");
done: + spi_flash_free(env_flash); + env_flash = NULL; + if (saved_buffer) free(saved_buffer);
@@ -404,6 +410,9 @@ static int env_sf_init_early(void) gd->env_addr = (unsigned long)&tmp_env1->data; }
+ spi_flash_free(env_flash); + env_flash = NULL; + return 0; err_read: spi_flash_free(env_flash);