From: Arnd Bergmann <arnd@arndb.de>
To: John Stultz <john.stultz@linaro.org>
Cc: linux-mmc@vger.kernel.org, San Mehat <san@android.com>,
Chris Ball <cjb@laptop.org>, Dima Zavin <dima@android.com>
Subject: Re: [PATCH 5/6] mmc: sd: When resuming, try a little harder to init the card
Date: Tue, 26 Apr 2011 15:39:56 +0200 [thread overview]
Message-ID: <201104261539.56244.arnd@arndb.de> (raw)
In-Reply-To: <1303520502-32171-6-git-send-email-john.stultz@linaro.org>
On Saturday 23 April 2011, John Stultz wrote:
> From: San Mehat <san@android.com>
>
> CC: Chris Ball <cjb@laptop.org>
> CC: Arnd Bergmann <arnd@arndb.de>
> CC: Dima Zavin <dima@android.com>
> Signed-off-by: San Mehat <san@android.com>
> Signed-off-by: John Stultz <john.stultz@linaro.org>
> ---
> drivers/mmc/core/sd.c | 19 +++++++++++++++++++
> 1 files changed, 19 insertions(+), 0 deletions(-)
>
> diff --git a/drivers/mmc/core/sd.c b/drivers/mmc/core/sd.c
> index c0f14cb..7b6cab2 100644
> --- a/drivers/mmc/core/sd.c
> +++ b/drivers/mmc/core/sd.c
> @@ -734,12 +734,31 @@ static int mmc_sd_suspend(struct mmc_host *host)
> static int mmc_sd_resume(struct mmc_host *host)
> {
> int err;
> +#ifdef CONFIG_MMC_PARANOID_SD_INIT
> + int retries;
> +#endif
>
> BUG_ON(!host);
> BUG_ON(!host->card);
>
> mmc_claim_host(host);
> +#ifdef CONFIG_MMC_PARANOID_SD_INIT
> + retries = 5;
> + while (retries) {
> + err = mmc_sd_init_card(host, host->ocr, host->card);
> +
> + if (err) {
> + printk(KERN_ERR "%s: Re-init card rc = %d (retries = %d)\n",
> + mmc_hostname(host), err, retries);
> + mdelay(5);
> + retries--;
> + continue;
> + }
> + break;
> + }
> +#else
> err = mmc_sd_init_card(host, host->ocr, host->card);
> +#endif
> mmc_release_host(host);
>
Again, the configuration option should not be there. Either it is needed for
some hardware or not.
The mdelay(5) is not ok, we must never spin in a kernel thread for that long.
Substituting it for msleep(5) solves that, but could still be considered
inappropriate during the boot process by some people -- a 25 ms delay for
each mmc host may be noticeable when people wait for the boot to complete.
It needs at least an explanation about why the delay is used here.
Arnd
next prev parent reply other threads:[~2011-04-26 13:40 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-04-23 1:01 [PATCH 0/6] Trivial MMC patches from Android John Stultz
2011-04-23 1:01 ` [PATCH 1/6] mmc: block: Resume multi-block reads after transient read errors John Stultz
2011-04-26 13:19 ` Arnd Bergmann
2011-04-27 8:16 ` Adrian Hunter
2011-04-27 8:42 ` Andrei Warkentin
2011-04-23 1:01 ` [PATCH 2/6] mmc_block: Allow more than 8 partitions per card John Stultz
2011-04-26 13:22 ` Arnd Bergmann
2011-04-26 16:10 ` Colin Cross
2011-04-26 16:13 ` Arnd Bergmann
2011-04-23 1:01 ` [PATCH 3/6] sdhci: Always pass clock request value zero to set_clock host op John Stultz
2011-04-23 1:01 ` [PATCH 4/6] mmc: sd: Add new CONFIG_MMC_PARANOID_SD_INIT for enabling retries during SD detection John Stultz
2011-04-26 13:35 ` Arnd Bergmann
2011-04-23 1:01 ` [PATCH 5/6] mmc: sd: When resuming, try a little harder to init the card John Stultz
2011-04-26 13:39 ` Arnd Bergmann [this message]
2011-04-23 1:01 ` [PATCH 6/6] mmc: sd: Add retries in re-detection John Stultz
2011-04-26 13:42 ` Arnd Bergmann
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=201104261539.56244.arnd@arndb.de \
--to=arnd@arndb.de \
--cc=cjb@laptop.org \
--cc=dima@android.com \
--cc=john.stultz@linaro.org \
--cc=linux-mmc@vger.kernel.org \
--cc=san@android.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).