[U-Boot] [PATCH] mmc: fix wrong timeout check in mmc_send_status()

Graeme Russ graeme.russ at gmail.com
Mon Jun 4 08:11:33 CEST 2012


Hi Jongman,

On Mon, Jun 4, 2012 at 3:32 PM, Jongman Heo <jongman.heo at gmail.com> wrote:
> (!timeout) condition check in mmc_send_status() can never be met,
> because do-while loop ends up with negative timeout value, -1.
>
> Fix it by using pre-decrement.
>
> Signed-off-by: Jongman Heo <jongman.heo at gmail.com>
> ---
>  drivers/mmc/mmc.c |    2 +-
>  1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index aebe578..de19d4e 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -232,7 +232,7 @@ int mmc_send_status(struct mmc *mmc, int timeout)
>
>                udelay(1000);
>
> -       } while (timeout--);
> +       } while (--timeout);
>
>  #ifdef CONFIG_MMC_TRACE
>        status = (cmd.response[0] & MMC_STATUS_CURR_STATE) >> 9;

Changing if (!timeout) to if(timeout <=0) would be more consistent
with other usage in mmc.c

Regards,

Graeme


More information about the U-Boot mailing list