[U-Boot] [PATCH 1/2] mmc: Fix timeout values passed to mmc_wait_dat0()
Peng Fan
peng.fan at nxp.com
Mon Aug 19 01:55:17 UTC 2019
> Subject: [PATCH 1/2] mmc: Fix timeout values passed to mmc_wait_dat0()
>
> mmc_wait_dat0() expects timeout argument to be in usec units. But some
> overlying functions operate on timeout in msec units. Convert timeout from
> msec to usec when passing it to mmc_wait_dat0().
>
> This fixes 'avb' commands on BeagleBoard X15, because next chain was
> failing:
>
> get_partition() -> mmc_switch_part() -> __mmc_switch() ->
> mmc_wait_dat0()
>
> when passing incorrect timeout from __mmc_switch() to mmc_wait_dat0().
>
> Fixes: bb98b8c5c06a ("mmc: During a switch, poll on dat0 if available and
> check the final status")
> Signed-off-by: Sam Protsenko <semen.protsenko at linaro.org>
> ---
> drivers/mmc/mmc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index
> eecc7d687e..e247730ff2 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -235,7 +235,7 @@ int mmc_poll_for_busy(struct mmc *mmc, int
> timeout)
> unsigned int status;
> int err;
>
> - err = mmc_wait_dat0(mmc, 1, timeout);
> + err = mmc_wait_dat0(mmc, 1, timeout * 1000);
> if (err != -ENOSYS)
> return err;
>
> @@ -778,7 +778,7 @@ static int __mmc_switch(struct mmc *mmc, u8 set,
> u8 index, u8 value,
> start = get_timer(0);
>
> /* poll dat0 for rdy/buys status */
> - ret = mmc_wait_dat0(mmc, 1, timeout);
> + ret = mmc_wait_dat0(mmc, 1, timeout * 1000);
> if (ret && ret != -ENOSYS)
> return ret;
>
Reviewed-by: Peng Fan <peng.fan at nxp.com>
> --
> 2.20.1
More information about the U-Boot
mailing list