summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorEric Schumann <E.Schumann@phytec.de>2009-03-21 09:59:34 -0400
committerStefan Roese <sr@denx.de>2009-03-23 09:50:45 +0100
commit3a3baf3ee61e6b28af3b49ebabc9ab4f6015aa48 (patch)
tree3ff7dcc79e59efc483436d24115295fdf22e324a /drivers
parentee1702d75a30d076139d1841383a1fa7220a0e11 (diff)
Make flash protection work, when the environment is in EEPROM
On the pcm030 the environment is located in the onboard EEPROM. But we want to handle flash sector protection in a safe manner. So we must read the unlock environment variable from EEPROM instead from flash. This patch is required as long the evironment is saved into the EEPROM. Stefan: Additional change as suggested by Wolfgang, use bigger char array (instead of 4). Signed-off-by: Eric Schumann <E.Schumann@phytec.de> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Acked-by: Wolfgang Denk <wd@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/cfi_flash.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/mtd/cfi_flash.c b/drivers/mtd/cfi_flash.c
index 391d169a481..631b969bbc1 100644
--- a/drivers/mtd/cfi_flash.c
+++ b/drivers/mtd/cfi_flash.c
@@ -2009,7 +2009,9 @@ unsigned long flash_init (void)
#endif
#ifdef CONFIG_SYS_FLASH_PROTECTION
- char *s = getenv("unlock");
+ /* read environment from EEPROM */
+ char s[64];
+ getenv_r ("unlock", s, sizeof(s));
#endif
#define BANK_BASE(i) (((phys_addr_t [CFI_MAX_FLASH_BANKS])CONFIG_SYS_FLASH_BANKS_LIST)[i])