Skip to contentSkip to conversation

common: env_mmc: Make mmc->part_num in sync after a partition switch

PATCH New Fabio Estevam 2 participants 2 messages Jun 4, 2013

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 common: env_mmc: Make mmc->part_num in sync after a partition switch

When running the "save" command several times on a mx6qsabresd we see:

U-Boot > save
Saving Environment to MMC...
Writing to MMC(1)... done
U-Boot > save
Saving Environment to MMC...
MMC partition switch failed
U-Boot > save
Saving Environment to MMC...
Writing to MMC(1)... done
U-Boot > save
Saving Environment to MMC...
MMC partition switch failed
U-Boot > save
Saving Environment to MMC...
Writing to MMC(1)... done
U-Boot > save
Saving Environment to MMC...
MMC partition switch failed

Fix this by making mmc->part_num to be in sync with CONFIG_SYS_MMC_ENV_PART after the partition has been changed in mmc_switch_part().

After this fix, we no longer see the error after the "save" command on a mx6qsabresd. Also tested on a mx53loco.

---
 common/env_mmc.c | 1 +
 1 file changed, 1 insertion(+)
common/env_mmc.c +1 -0
index 9ca098f..8020fc5 100644
@@ -89,6 +89,7 @@ static int init_mmc_for_env(struct mmc *mmc)
 			puts("MMC partition switch failed\n");
 			return -1;
 		}
+		mmc->part_num = CONFIG_SYS_MMC_ENV_PART;
 	}
 #endif
 
Signature · 1 line
1.8.1.2
#1 lore raw

PATCH 1/1 common: env_mmc: Make mmc->part_num in sync after a partition switch

Quoted 8 lines · Fabio Estevam

When running the "save" command several times on a mx6qsabresd we see:

U-Boot > save
Saving Environment to MMC...
Writing to MMC(1)... done
U-Boot > save
Saving Environment to MMC...
MMC partition switch failed

...

Quoted 2 lines

Fix this by making mmc->part_num to be in sync with CONFIG_SYS_MMC_ENV_PART after the partition has been changed in mmc_switch_part().

I deliberately didn't do this, because fini_mmc_for_env() passes the value of mmc->part_num to call mmc_switch_part() in order to put things back the way they were. This fix would break that. Can you investigate why you're seeing the "MMC partition switch failed" message?