> > The crash was occuring in env_relocate because it was being called prior > to mmc_initialize. This patch moves the MMC initialization earlier in > the init process. > > This patch also cleans up the env_relocate_spec code in env_mmc.c > > Developed jointly with Stefano Babic
Fine; but is a Signed-off-by or Tested-by/Acked-by required from Stefano then? Also this patch touch ARM and MMC code so can't add to u-boot-ti unless Wolfgang is ok. > > Signed-off-by: Steve Sakoman <steve.sako...@linaro.org> > --- > > diff --git a/arch/arm/lib/board.c b/arch/arm/lib/board.c > index 5f2dfd0..0e2f129 100644 > --- a/arch/arm/lib/board.c > +++ b/arch/arm/lib/board.c > @@ -779,6 +779,11 @@ void board_init_r (gd_t *id, ulong dest_addr) > onenand_init(); > #endif > > +#ifdef CONFIG_GENERIC_MMC > + puts ("MMC: "); > + mmc_initialize (bd); > +#endif > + > #ifdef CONFIG_HAS_DATAFLASH > AT91F_DataflashInit(); > dataflash_print_info(); > @@ -854,11 +859,6 @@ extern void davinci_eth_set_mac_addr (const u_int8_t > *addr); > board_late_init (); > #endif > > -#ifdef CONFIG_GENERIC_MMC > - puts ("MMC: "); > - mmc_initialize (gd->bd); > -#endif > - > #ifdef CONFIG_BITBANGMII > bb_miiphy_init(); > #endif > diff --git a/common/env_mmc.c b/common/env_mmc.c > index cc288d4..d443ff5 100644 > --- a/common/env_mmc.c > +++ b/common/env_mmc.c > @@ -129,18 +129,21 @@ inline int read_env(struct mmc *mmc, unsigned long > size, > void env_relocate_spec(void) > { > #if !defined(ENV_IS_EMBEDDED) > + char buf[CONFIG_ENV_SIZE]; > + > struct mmc *mmc = find_mmc_device(CONFIG_SYS_MMC_ENV_DEV); > > - if (init_mmc_for_env(mmc)) > + if (init_mmc_for_env(mmc)) { > + use_default(); > return; > + } > > - if (read_env(mmc, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, env_ptr)) > - return use_default(); > - > - if (crc32(0, env_ptr->data, ENV_SIZE) != env_ptr->crc) > - return use_default(); > + if (read_env(mmc, CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET, buf)) { > + use_default(); > + return; > + } > > - gd->env_valid = 1; > + env_import(buf, 1); > #endif > } _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot