summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorEric Schumann <E.Schumann@phytec.de>2009-03-21 16:59:34 +0300
committerStefan Roese <sr@denx.de>2009-03-23 11:50:45 +0300
commit3a3baf3ee61e6b28af3b49ebabc9ab4f6015aa48 (patch)
tree3ff7dcc79e59efc483436d24115295fdf22e324a /drivers
parentee1702d75a30d076139d1841383a1fa7220a0e11 (diff)
downloadu-boot-3a3baf3ee61e6b28af3b49ebabc9ab4f6015aa48.tar.xz
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 391d169a48..631b969bbc 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])