mtd, spi: Check if flash pointer is used
If flash pointer is used free it, before probing a new
flash and storing it in flash.
Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Jagannadh Teki <jteki@openedev.com>
Reviewed-by: Jagannadh Teki <jteki@openedev.com>
diff --git a/common/cmd_sf.c b/common/cmd_sf.c
index 9bced29..aef8c2a 100644
--- a/common/cmd_sf.c
+++ b/common/cmd_sf.c
@@ -135,7 +135,12 @@
flash = dev_get_uclass_priv(new);
#else
+ if (flash)
+ spi_flash_free(flash);
+
new = spi_flash_probe(bus, cs, speed, mode);
+ flash = new;
+
if (!new) {
printf("Failed to initialize SPI flash at %u:%u\n", bus, cs);
return 1;