linux/drivers/mmc/host
Adrian Hunter 4dffd7a251 omap_hsmmc: prevent races with irq handler
If an unexpected interrupt occurs while preparing the next request, an
oops can occur.

For example, a new request is setting up DMA for data transfer so
host->data is not NULL.  An unexpected transfer complete (TC) interrupt
comes along and the interrupt handler sets host->data to NULL.  Oops!

Prevent that by adding a spinlock.

Signed-off-by: Adrian Hunter <adrian.hunter@nokia.com>
Acked-by: Matt Fleming <matt@console-pimps.org>
Cc: Ian Molton <ian@mnementh.co.uk>
Cc: "Roberto A. Foglietta" <roberto.foglietta@gmail.com>
Cc: Jarkko Lavinen <jarkko.lavinen@nokia.com>
Cc: Denis Karpov <ext-denis.2.karpov@nokia.com>
Cc: Pierre Ossman <pierre@ossman.eu>
Cc: Philip Langdale <philipl@overt.org>
Cc: "Madhusudhan" <madhu.cr@ti.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2009-09-23 07:39:35 -07:00
..
at91_mci.c
atmel-mci-regs.h atmel-mci: add MCI2 register definitions 2009-06-13 22:43:01 +02:00
atmel-mci.c atmel-mci: Add support for inverted detect pin 2009-04-08 20:47:48 +02:00
au1xmmc.c
cb710-mmc.c cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG 2009-07-31 12:28:46 +02:00
cb710-mmc.h mmc: Driver for CB710/720 memory card reader (MMC part) 2009-06-13 22:42:58 +02:00
imxmmc.c imxmmc: Remove unnecessary semicolons 2009-07-31 12:28:46 +02:00
imxmmc.h
Kconfig mmc: msm_sdccc: driver for HTC Dream 2009-09-23 07:39:32 -07:00
Makefile mmc: msm_sdccc: driver for HTC Dream 2009-09-23 07:39:32 -07:00
mmc_spi.c spi: add spi_master flag word 2009-06-30 18:56:00 -07:00
mmci.c Merge branch 'devel-stable' into devel 2009-09-12 12:02:26 +01:00
mmci.h MMC: MMCI: use gpiolib for card detect/write protect 2009-07-09 15:16:07 +01:00
msm_sdcc.c msm_sdcc.c: move overly indented code to separate function 2009-09-23 07:39:33 -07:00
msm_sdcc.h mmc: msm_sdccc: driver for HTC Dream 2009-09-23 07:39:32 -07:00
mvsdio.c mvsdio: fix handling of partial word at the end of PIO transfer 2009-07-20 16:46:34 -07:00
mvsdio.h mmc: SDIO driver for Marvell SoCs 2009-03-24 21:30:03 +01:00
mxcmmc.c trivial: fix typo "to to" in multiple files 2009-09-21 15:14:55 +02:00
of_mmc_spi.c mmc: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
omap_hsmmc.c omap_hsmmc: prevent races with irq handler 2009-09-23 07:39:35 -07:00
omap.c mmc/omap: make mmci-omap using platform_driver_probe 2009-06-13 22:42:57 +02:00
pxamci.c pxamci: correct DMA flow control 2009-07-03 14:13:28 +08:00
pxamci.h
ricoh_mmc.c ricoh_mmc: Use suspend_late/resume_early 2009-02-02 20:57:06 +01:00
s3cmci.c s3cmci: fix dma configuration call 2009-06-21 21:00:59 +02:00
s3cmci.h
sdhci-of.c drivers/mmc: correct error-handling code 2009-08-07 10:39:56 -07:00
sdhci-pci.c sdhci: Specific quirk vor VIA SDHCI controller in VX855ES 2009-06-21 21:00:59 +02:00
sdhci-pltfm.c sdhci: platform driver for SDHCI 2009-06-13 22:42:59 +02:00
sdhci-s3c.c sdhci: Add SDHCI_QUIRK_NO_MULTIBLOCK quirk 2009-06-21 21:00:58 +02:00
sdhci.c sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG 2009-07-31 12:28:45 +02:00
sdhci.h sdhci: get rid of "frequency too high" flood when using eSDHC 2009-07-29 19:10:36 -07:00
sdricoh_cs.c
tifm_sd.c
tmio_mmc.c tmio_mmc: allow compilation for ASIC3 2009-06-13 22:43:01 +02:00
tmio_mmc.h tmio_mmc: add bus_shift support 2009-06-13 22:43:00 +02:00
via-sdmmc.c mmc: Add new via-sdmmc host controller driver 2009-06-21 21:00:59 +02:00
wbsd.c New mail address for Pierre Ossman 2009-04-08 20:14:54 +02:00
wbsd.h