[U-Boot] Possible MMC subsystem bug

Fleming Andy-AFLEMING afleming at freescale.com
Sun Jan 27 05:44:06 CET 2013


I'll need to double-check the spec, but I believe the BUSY bit has the opposite meaning of common sense.

On Jan 26, 2013, at 22:32, "Marek Vasut" <marex at denx.de> wrote:

> Hi Andy,
> 
> I was going through the MMC code, trying to get Phison 8007 SD-to-NAND bridge 
> working (don't ask please, this chip's sole existence defies any logic).
> 
> So, I found the following code and I was wondering if the following patch is not 
> needed. Maybe my brain is just giving up though. Give it some thought please and 
> let me know, thanks!
> 
> diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
> index 72e8ce6..94926ca 100644
> --- a/drivers/mmc/mmc.c
> +++ b/drivers/mmc/mmc.c
> @@ -475,8 +474,11 @@ static int sd_send_op_cond(struct mmc *mmc)
>                if (err)
>                        return err;
> 
> +               if (!(cmd.response[0] & OCR_BUSY))
> +                       break;
> +
>                udelay(1000);
> -       } while ((!(cmd.response[0] & OCR_BUSY)) && timeout--);
> +       } while (timeout--);
> 
>        if (timeout <= 0)
>                return UNUSABLE_ERR;
> 



More information about the U-Boot mailing list