2008-12-31 17:50:46

by David Brownell

[permalink] [raw]
Subject: [patch 2.6.28] mmc: warn about voltage mismatches

From: David Brownell <[email protected]>

Get rid of a silent failure mode when the MMC/SD host doesn't
support the voltages needed to operate a given card, by
adding a warning. A 3.3V host and a 3.0V card, for example,
no longer need to mysteriously just not work at all.

This isn't the best diagnostic; ideally it would also tell
what voltage the card and host support (and not just by
dumping the bitmasks).

Signed-off-by: David Brownell <[email protected]>
---
drivers/mmc/core/core.c | 2 ++
1 file changed, 2 insertions(+)

--- a/drivers/mmc/core/core.c
+++ b/drivers/mmc/core/core.c
@@ -467,6 +467,8 @@ u32 mmc_select_voltage(struct mmc_host *
host->ios.vdd = bit;
mmc_set_ios(host);
} else {
+ pr_warning("%s: host doesn't support card's voltages\n",
+ mmc_hostname(host));
ocr = 0;
}


2008-12-31 18:27:37

by Pierre Ossman

[permalink] [raw]
Subject: Re: [patch 2.6.28] mmc: warn about voltage mismatches

On Wed, 31 Dec 2008 09:50:30 -0800
David Brownell <[email protected]> wrote:

> From: David Brownell <[email protected]>
>
> Get rid of a silent failure mode when the MMC/SD host doesn't
> support the voltages needed to operate a given card, by
> adding a warning. A 3.3V host and a 3.0V card, for example,
> no longer need to mysteriously just not work at all.
>

Hmm... I have sort of always assumed that 3.3V was always required by
the host and card, but re-reading the specs that clearly isn't the case.

> This isn't the best diagnostic; ideally it would also tell
> what voltage the card and host support (and not just by
> dumping the bitmasks).
>

Still, it's better than nothing.

> Signed-off-by: David Brownell <[email protected]>
> ---

Queued.

--
-- Pierre Ossman

Linux kernel, MMC maintainer http://www.kernel.org
rdesktop, core developer http://www.rdesktop.org

WARNING: This correspondence is being monitored by the
Swedish government. Make sure your server uses encryption
for SMTP traffic and consider using PGP for end-to-end
encryption.