[U-Boot] [PATCH] env_mmc: fix cannot save env issue

The env change its implementation after this log, while env mmc didn't change it immediately, which cause issue. Follow to the new style to fix it.
commit ea882baf9c17cd142c99e3ff640d3ab01daa5cec Author: Wolfgang Denk wd@denx.de Date: Sun Jun 20 23:33:59 2010 +0200
New implementation for internal handling of environment variables.
Signed-off-by: Lei Wen leiwen@marvell.com --- common/env_mmc.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/common/env_mmc.c b/common/env_mmc.c index a51a905..23402bd 100644 --- a/common/env_mmc.c +++ b/common/env_mmc.c @@ -29,6 +29,7 @@ #include <linux/stddef.h> #include <malloc.h> #include <mmc.h> +#include <errno.h>
/* references to names in env_common.c */ extern uchar default_environment[]; @@ -96,13 +97,23 @@ inline int write_env(struct mmc *mmc, unsigned long size,
int saveenv(void) { + env_t env_new; + ssize_t len; + char *res; struct mmc *mmc = find_mmc_device(CONFIG_SYS_MMC_ENV_DEV);
if (init_mmc_for_env(mmc)) return 1;
+ res = (char *)&env_new.data; + len = hexport('\0', &res, ENV_SIZE); + if (len < 0) { + error("Cannot export environment: errno = %d\n", errno); + return 1; + } + env_new.crc = crc32(0, env_new.data, ENV_SIZE); printf("Writing to MMC(%d)... ", CONFIG_SYS_MMC_ENV_DEV); - if (write_env(mmc, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, env_ptr)) { + if (write_env(mmc, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, (u_char *)&env_new)) { puts("failed\n"); return 1; }

Dear Lei Wen,
In message 1286939241-25437-1-git-send-email-leiwen@marvell.com you wrote:
The env change its implementation after this log, while env mmc didn't change it immediately, which cause issue. Follow to the new style to fix it.
commit ea882baf9c17cd142c99e3ff640d3ab01daa5cec Author: Wolfgang Denk wd@denx.de Date: Sun Jun 20 23:33:59 2010 +0200
New implementation for internal handling of environment variables.
Signed-off-by: Lei Wen leiwen@marvell.com
common/env_mmc.c | 13 ++++++++++++- 1 files changed, 12 insertions(+), 1 deletions(-)
Applied, thanks.
Best regards,
Wolfgang Denk
participants (2)
-
Lei Wen
-
Wolfgang Denk