mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-17 22:49:02 +00:00
mmc: retry a few times if a partition switch failed
This operation may fail. Retry it a few times before giving up and report a failure. Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
This commit is contained in:
parent
9bc5666c8a
commit
0538477c53
1 changed files with 7 additions and 3 deletions
|
@ -958,10 +958,14 @@ static int mmc_set_capacity(struct mmc *mmc, int part_num)
|
|||
int mmc_switch_part(struct mmc *mmc, unsigned int part_num)
|
||||
{
|
||||
int ret;
|
||||
int retry = 3;
|
||||
|
||||
ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_PART_CONF,
|
||||
(mmc->part_config & ~PART_ACCESS_MASK)
|
||||
| (part_num & PART_ACCESS_MASK));
|
||||
do {
|
||||
ret = mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL,
|
||||
EXT_CSD_PART_CONF,
|
||||
(mmc->part_config & ~PART_ACCESS_MASK)
|
||||
| (part_num & PART_ACCESS_MASK));
|
||||
} while (ret && retry--);
|
||||
|
||||
/*
|
||||
* Set the capacity if the switch succeeded or was intended
|
||||
|
|
Loading…
Add table
Reference in a new issue