Re: [PATCH] SD working on OMAP platforms

Carlos Aguiar
2007-03-31T22:07:40Z

[-- Attachment #1: Type: text/plain, Size: 667 bytes --]

ext Pierre Ossman wrote:
> Carlos Aguiar wrote:
>
>> On CMD3, response type is R6 to SD cards and R1 to MMC cards.
>> This fix ignores the buggy SD handling on CMD3.
>>
>> Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>
>>
>>
>>
>
> NAK. Includes opcodes.
>
> I assume 0x4000 is that darn CERR, so have the if-statement test just
> (status == 0x4000).
>
> Rgds
>
>
Ok,

Now, without opcodes and if-statement test just
(status == 0x4000).

BR,

Carlos.

--
Carlos Eduardo
Nokia Institute of Technology - INdT
Open Source Mobile Research Center - OSMRC
Phone: +55 92 2126-1079
Mobile: +55 92 8127-1797
E-mail: carlos.aguiar@indt.org.br

[-- Attachment #2: sd_buggy_handling.diff --]
[-- Type: text/plain, Size: 797 bytes --]

On CMD3, response type is R6 to SD cards and R1 to MMC cards.
This fix ignores the buggy SD handling on CMD3.

Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br>

Index: linux-omap/drivers/mmc/omap.c
===================================================================
--- linux-omap.orig/drivers/mmc/omap.c 2007-03-30 09:39:08.000000000 -0400
+++ linux-omap/drivers/mmc/omap.c 2007-03-31 18:03:49.000000000 -0400
@@ -462,6 +462,12 @@ static irqreturn_t mmc_omap_irq(int irq,
mmc_omap_report_irq(status);
printk("\n");
#endif
+ if (status == 0x4000) {
+ dev_dbg(mmc_dev(host->mmc),
+ "buggy SD handling, ignoring it\n");
+ status = 0x0001;
+ }
+
if (host->total_bytes_left) {
if ((status & OMAP_MMC_STAT_A_FULL) ||
(status & OMAP_MMC_STAT_END_OF_DATA))

[-- Attachment #3: Type: text/plain, Size: 0 bytes --]