瀏覽代碼

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>
Patrick Delaunay 3 年之前
父節點
當前提交
c2d00364c1
共有 1 個文件被更改,包括 9 次插入0 次删除
  1. 9 0
      env/sf.c

+ 9 - 0
env/sf.c

@@ -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);