[U-Boot] [PATCH 22/22] mmc: Retry some MMC cmds on failure

Jean-Jacques Hiblot jjhiblot at ti.com
Wed May 17 14:47:19 UTC 2017



On 17/05/2017 03:38, Simon Glass wrote:
> Hi Jean-Jacques,
>
> On 15 May 2017 at 09:49, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
>>
>> On 15/05/2017 05:28, Simon Glass wrote:
>>> On 12 May 2017 at 12:16, Jean-Jacques Hiblot <jjhiblot at ti.com> wrote:
>>>> From: Vignesh R <vigneshr at ti.com>
>>>>
>>>> With certain SD cards like Kingston 8GB/16GB UHS card, it is seen that
>>>> MMC_CMD_ALL_SEND_CID cmd fails on first attempt, but succeeds
>>>> subsequently. Therefore, retry MMC_CMD_ALL_SEND_CID cmd at least thrice
>>>> as done in Linux kernel.
>>>> Similarly, it is seen that MMC_CMD_SET_BLOCKLEN may fail on first
>>>> attempt, therefore retry this cmd five times as done in kernel.
>>>>
>>>> Signed-off-by: Vignesh R <vigneshr at ti.com>
>>>> Signed-off-by: Kishon Vijay Abraham I <kishon at ti.com>
>>>> Signed-off-by: Jean-Jacques Hiblot <jjhiblot at ti.com>
>>>> ---
>>>>    drivers/mmc/mmc.c | 15 ++++++++++++---
>>>>    1 file changed, 12 insertions(+), 3 deletions(-)
>>>>
>>> So sad to see this sort of thing.
>>>
>>> Can we enable this via a quirk and a Kconfig? Could default to on, but
>>> I'm not sure we want this code in regardless.
>>>
>>> Reviewed-by: Simon Glass <sjg at chromium.org>
>> I admit that it's ugly...  no clean code survives contact with a few hundred
>> different hardware parts.
>> We could add KConfig options to enable/disable those quirks but I don't see
>> the point of being able to. It's just a basic retry that has no impact on
>> things that work well already and might make other work more reliably.
> I'm OK with it being there. But I suggest it should be a quirk flag in
> struct mmc. You can always have it enabled (by default), but that way
> it becomes very clear that this is a work-around, since it can be
> disabled at run-time.
OK. It'll be in v2
>
> Regards,
> Simon
>



More information about the U-Boot mailing list