Re: [PATCH] mmc: core: Restore (almost) the busy polling for MMC_SEND_OP_COND

From: Jean Rene Dawin
Date: Fri Mar 04 2022 - 11:05:24 EST


Ulf Hansson wrote on Fri 4/03/22 11:56:
> Commit 76bfc7ccc2fa ("mmc: core: adjust polling interval for CMD1"),
> significantly decreased the polling period from ~10-12ms into just a couple
> of us. The purpose was to decrease the total time spent in the busy polling
> loop, but unfortunate it has lead to problems, that causes eMMC cards to
> never gets out busy and thus fails to be initialized.
>
> To fix the problem, but also to try to keep some of the new improved
> behaviour, let's start by using a polling period of 1-2ms, which then
> increases for each loop, according to common polling loop in
> __mmc_poll_for_busy().
>
> Reported-by: Jean Rene Dawin <jdawin@xxxxxxxxxxxxxxxxxxxxx>
> Reported-by: H. Nikolaus Schaller <hns@xxxxxxxxxxxxx>
> Cc: Huijin Park <huijin.park@xxxxxxxxxxx>
> Fixes: 76bfc7ccc2fa ("mmc: core: adjust polling interval for CMD1")
> Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx>
> ---
>
> Jean Rene and H. Nikolaus, if this doesn't work, please try extending the
> the MMC_OP_COND_PERIOD_US a bit, to so see if we can find a value that always
> works.
>
> Kind regards
> Uffe
>
> ---
> drivers/mmc/core/block.c | 2 +-
> drivers/mmc/core/mmc.c | 2 +-
> drivers/mmc/core/mmc_ops.c | 13 +++++++++----
> drivers/mmc/core/mmc_ops.h | 3 ++-
> drivers/mmc/core/sd.c | 2 +-
> 5 files changed, 14 insertions(+), 8 deletions(-)

Hi,

thanks, this works fine.

Regads,
Jean Rene Dawin