mirror of
https://github.com/Fishwaldo/u-boot.git
synced 2025-03-15 19:51:37 +00:00
env: sf: Free the old env_flash
env_flash is a global flash pointer, and the probe would happen only if env_flash is NULL, but there is no checking and free the pointer if is not NULL. So, this patch frees the old env_flash, and get the probed flash in to env_flash pointer and finally check if is not NULL. Cc: Simon Glass <sjg@chromium.org> Cc: Vignesh R <vigneshr@ti.com> Signed-off-by: Jagan Teki <jagan@amarulasolutions.com>
This commit is contained in:
parent
da37b539e6
commit
c8cbf1707c
1 changed files with 6 additions and 7 deletions
13
env/sf.c
vendored
13
env/sf.c
vendored
|
@ -53,15 +53,14 @@ static int setup_flash_device(void)
|
|||
|
||||
env_flash = dev_get_uclass_priv(new);
|
||||
#else
|
||||
if (env_flash)
|
||||
spi_flash_free(env_flash);
|
||||
|
||||
env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS, CONFIG_ENV_SPI_CS,
|
||||
CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
|
||||
if (!env_flash) {
|
||||
env_flash = spi_flash_probe(CONFIG_ENV_SPI_BUS,
|
||||
CONFIG_ENV_SPI_CS,
|
||||
CONFIG_ENV_SPI_MAX_HZ, CONFIG_ENV_SPI_MODE);
|
||||
if (!env_flash) {
|
||||
env_set_default("spi_flash_probe() failed", 0);
|
||||
return -EIO;
|
||||
}
|
||||
env_set_default("spi_flash_probe() failed", 0);
|
||||
return -EIO;
|
||||
}
|
||||
#endif
|
||||
return 0;
|
||||
|
|
Loading…
Add table
Reference in a new issue