kernel_optimize_test/drivers/mmc/host
Daniel Mack 4a31f2eff3 ARM: mx3: Fix a race condition in mxcmmc
From cefcdab08d1c9636c4a7290bc2bbe937d051bce4 Mon Sep 17 00:00:00 2001
From: Volker Ernst <volker.ernst@txtr.com>
Date: Mon, 26 Apr 2010 22:51:07 +0200
Subject: [PATCH] ARM: mx3: Fix a race condition in mxcmmc

This fixes a race condition regarding interrupt bits in the SDHC
controller driver code.

In case of PIO-transfer it does not clear SDHC-status bit#11/12
in the INT-handler anymore. INT-handler might be called during
an ongoing PIO-data-transfer (with some other INT-flag set) and
PIO-transfer depends on these bits being set to detect the end
of the data-transfer. This also means that at the end of PIO-
transfer that PIO-software has to clear these bits itself.

However in case of DMA-transfer these bits have to be cleared
in the INT-handler, because they are used to generate INTs then.

Works solid, no more problems here, can transfer big files.

Signed-off-by: Volker Ernst <volker.ernst@txtr.com>
Acked-by: Daniel Mack <daniel@caiaq.de>
Cc: Andy Green <andy@warmcat.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
2010-05-17 11:44:13 +02:00
..
at91_mci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
atmel-mci-regs.h
atmel-mci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
au1xmmc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
bfin_sdh.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cb710-mmc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
cb710-mmc.h
davinci_mmc.c davinci: MMC: add support for 8bit MMC cards 2010-03-06 11:26:36 -08:00
imxmmc.c
imxmmc.h
Kconfig mfd/mmc: SDHI Kconfig update 2010-03-07 22:17:32 +01:00
Makefile ricoh_mmc: port from driver to pci quirk 2010-03-06 11:26:36 -08:00
mmc_spi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
mmci.c ARM: 5940/2: ARM: MMCI: remove custom DBG macro and printk 2010-02-21 22:21:17 +00:00
mmci.h
msm_sdcc.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
msm_sdcc.h
mvsdio.c
mvsdio.h
mxcmmc.c ARM: mx3: Fix a race condition in mxcmmc 2010-05-17 11:44:13 +02:00
of_mmc_spi.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
omap_hsmmc.c omap hsmmc: fix a bug in card remove scenario 2010-04-07 08:38:03 -07:00
omap.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pxamci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
pxamci.h
s3cmci.c s3cmci: s3cmci_card_present: Use no_detect to decide whether there is a card detect pin 2010-03-06 11:26:37 -08:00
s3cmci.h
sdhci-of-core.c sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-of-esdhc.c sdhci-of: reorganize driver to support additional hardware 2009-12-17 15:45:31 -08:00
sdhci-of-hlwd.c sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-of.h sdhci-of: add support for the wii sdhci controller 2009-12-17 15:45:32 -08:00
sdhci-pci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdhci-pltfm.c
sdhci-s3c.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdhci.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sdhci.h sdhci: protect header file against multi inclusion 2009-12-17 15:45:31 -08:00
sdricoh_cs.c
tifm_sd.c
tmio_mmc.c tmio_mmc: Balance cell enable()/disable() calls 2010-03-07 22:17:27 +01:00
tmio_mmc.h tmio_mmc: Keep card-detect interrupts enabled 2010-03-07 22:17:25 +01:00
via-sdmmc.c
wbsd.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
wbsd.h