kernel-ark/drivers/mmc/host
Andres Salomon 603ded16a3 olpc: sdhci: add quirk for the Marvell CaFe's interrupt timeout
The CaFe chip has a hardware bug that ends up with us getting a timeout
value that's too small, causing the following sorts of problems:

[   60.525138] mmcblk0: error -110 transferring data
[   60.531477] end_request: I/O error, dev mmcblk0, sector 1484353
[   60.533371] Buffer I/O error on device mmcblk0p2, logical block 181632
[   60.533371] lost page write due to I/O error on mmcblk0p2

Presumably this is an off-by-one error in the hardware.  Incrementing
the timeout count value that we stuff into the TIMEOUT_CONTROL register
gets us a value that works.  This bug was originally discovered by
Pierre Ossman, I believe.

[thanks to Robert Millan for proving that this was still a problem]

Signed-off-by: Andres Salomon <dilinger@debian.org>
Cc: Pierre Ossman <drzeus-list@drzeus.cx>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2008-07-04 10:40:09 -07:00
..
at91_mci.c at91_mci: minor cleanup 2008-05-17 13:19:38 +02:00
au1xmmc.c mmc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
au1xmmc.h
imxmmc.c mmc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
imxmmc.h
Kconfig missing dependencies on HAS_DMA 2008-05-21 16:55:59 -07:00
Makefile
mmc_spi.c mmc: use get/put_unaligned_* helpers 2008-04-29 08:06:27 -07:00
mmci.c [ARM] 5024/1: Fix some minor clk issues in the MMCI PL18x driver 2008-05-04 11:06:05 +01:00
mmci.h mmc: fix sg->page fallout 2007-10-23 20:37:24 +02:00
omap.c mmc: Fix omap compile by replacing dev_name with dma_dev_name 2008-05-14 21:00:53 +02:00
pxamci.c mmc: fix platform driver hotplug/coldplug 2008-04-15 19:35:40 -07:00
pxamci.h [ARM] pxa: mmc: add 1st host controller support for pxa3xx 2008-01-26 15:07:53 +00:00
ricoh_mmc.c mmc: extend ricoh_mmc to support Ricoh RL5c476 2008-02-08 09:02:47 +01:00
sdhci.c olpc: sdhci: add quirk for the Marvell CaFe's interrupt timeout 2008-07-04 10:40:09 -07:00
sdhci.h mmc: make one-bit signed bitfields unsigned 2008-05-13 08:02:23 -07:00
tifm_sd.c tifm_sd: DATA_CARRY is not boolean in tifm_sd_transfer_data() 2008-03-15 09:24:21 -07:00
wbsd.c mmc: wbsd: initialize tasklets before requesting interrupt 2008-06-12 18:05:41 -07:00
wbsd.h