Re: SDHCI: timeout during data transfer

From: Luca Tettamanti
Date: Fri Oct 03 2008 - 07:28:05 EST


On Thu, Oct 2, 2008 at 10:17 AM, Pierre Ossman <drzeus-mmc@xxxxxxxxx> wrote:
> On Tue, 23 Sep 2008 23:24:59 +0200
> Luca Tettamanti <kronos.it@xxxxxxxxx> wrote:
>
>> Hi,
>> I'm seeing timeout errors when transfering "big" (over 1MB or so) files to a SD
>> card (small files are ok):
>>
>> [ 251.956666] mmcblk0: error -110 transferring data
>> [ 251.979810] end_request: I/O error, dev mmcblk0, sector 1572758
>
> Looks like the card died on you there. Did you build the kernel
> yourself? If so, it would be helpful if you could enable
> CONFIG_MMC_DEBUG and give me a complete dmesg dump from when this
> happens.

Hum, cannot reproduce (but it was consistently failing when I tested
the patch... the only difference is a mkfs in between). I just got a
few retries:

[ 187.158063] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000040
[ 187.656190] mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width
0 timing 0
[ 187.658366] mmc0: clock 128906Hz busmode 1 powermode 2 cs 0 Vdd 21
width 0 timing 0
[ 187.660500] mmc0: clock 128906Hz busmode 1 powermode 2 cs 1 Vdd 21
width 0 timing 0
[ 187.661634] mmc0: starting CMD0 arg 00000000 flags 000000c0
[ 187.662265] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 187.662283] mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
[ 187.663461] mmc0: clock 128906Hz busmode 1 powermode 2 cs 0 Vdd 21
width 0 timing 0
[ 187.664473] mmc0: starting CMD8 arg 000001aa flags 000002f5
[ 187.665423] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 187.665439] mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
[ 187.665474] mmc0: starting CMD5 arg 00000000 flags 000002e1
[ 187.666423] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 187.668435] mmc0: req failed (CMD5): -110, retrying...
[ 187.669423] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 187.671424] mmc0: req failed (CMD5): -110, retrying...
[ 187.672422] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 187.674423] mmc0: req failed (CMD5): -110, retrying...
[ 187.675425] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00018000
[ 187.677436] mmc0: req done (CMD5): -110: 00000000 00000000 00000000 00000000
[ 187.677683] mmc0: starting CMD55 arg 00000000 flags 000000f5
[ 187.678754] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 187.678770] mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
[ 187.678808] mmc0: starting CMD41 arg 00000000 flags 000000e1
[ 187.679877] sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
[ 187.679893] mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
[ 187.679995] mmc0: clock 128906Hz busmode 1 powermode 2 cs 0 Vdd 20
width 0 timing 0
[ 187.680021] mmc0: clock 128906Hz busmode 1 powermode 2 cs 1 Vdd 20
width 0 timing 0
[cut 80MB of logs]

Is it possible that the error was generated by a faulty flash block?

Luca
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/