env: sf: add missing spi_flash_free

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>
This commit is contained in:
Patrick Delaunay 2021-02-24 11:52:35 +01:00 committed by Tom Rini
parent 25d90ad45a
commit c2d00364c1
1 changed files with 9 additions and 0 deletions

9
env/sf.c vendored
View File

@ -154,6 +154,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);
@ -255,6 +258,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);
@ -413,6 +419,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);