linux/drivers/mmc/host
Guennadi Liakhovetski 276bc96b2a mmc: sh_mmcif: fix I/O errors
The INT_BUFWEN IRQ often arrives with other bits set too. If they are not
cleared, an additional IRQ can be triggered, sometimes also after the MMC
request has already been completed. This leads to block I/O errors. Earlier
Teppei Kamijou also observed these additional interrupts and proposed to
explicitly wait for them. This patch chooses an alternative approach of
clearing all active bits immediately, when processing the main interrupt.

Reported-by: Teppei Kamijou <teppei.kamijou.yb@renesas.com>
Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de>
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-02-11 13:28:38 -05:00
..
atmel-mci-regs.h mmc: atmel-mci: AP700x PDC is not connected to MCI 2012-10-03 10:05:23 -04:00
atmel-mci.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
au1xmmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
bfin_sdh.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
cb710-mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
cb710-mmc.h
davinci_mmc.c MMC highlights for 3.7: 2012-10-10 10:58:42 +09:00
dw_mmc-exynos.c mmc: dw_mmc: constify dw_mci_idmac_ops in exynos back-end 2012-11-07 15:02:55 -05:00
dw_mmc-pci.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
dw_mmc-pltfm.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
dw_mmc-pltfm.h mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
dw_mmc.c mmc: dw_mmc: remove duplicated buswidth code 2012-12-06 13:55:12 -05:00
dw_mmc.h mmc: dw_mmc: add support for implementation specific callbacks 2012-10-03 10:05:19 -04:00
jz4740_mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
Kconfig Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial 2012-12-13 12:00:02 -08:00
Makefile This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mmc_spi.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
mmci.c Merge branch 'for-linus' of git://git.linaro.org/people/rmk/linux-arm 2012-12-12 11:30:02 -08:00
mmci.h ARM: 7562/2: MMCI: fetch pinctrl handle and set default state 2012-11-04 10:31:46 +00:00
msm_sdcc.c ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
msm_sdcc.h
mvsdio.c mmc: mvsdio: use devm_ API to simplify/correct error paths. 2013-01-23 01:08:01 +00:00
mvsdio.h
mxcmmc.c ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
mxs-mmc.c mmc: mxs-mmc: Remove platform data 2012-12-06 13:54:44 -05:00
of_mmc_spi.c mmc: of_mmc_spi: fix little endian support 2012-02-13 20:38:58 -05:00
omap_hsmmc.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
omap.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
pxamci.c mmc: remove use of __devinit 2012-11-28 12:28:18 -08:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx: Call MFD hook to switch output voltage 2013-01-27 01:29:57 +01:00
s3cmci.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
s3cmci.h
sdhci-acpi.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
sdhci-cns3xxx.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
sdhci-dove.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
sdhci-esdhc-imx.c mmc: sdhci-esdhc-imx: use slot-gpio helpers for CD and WP 2013-02-11 12:51:24 -05:00
sdhci-esdhc.h mmc: sdhci-esdhc: break out early if clock is 0 2012-09-04 13:58:06 -04:00
sdhci-of-esdhc.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
sdhci-of-hlwd.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
sdhci-pci-data.c mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdhci-pci.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
sdhci-pltfm.c mmc: dt: add no-1-8-v device tree flag 2012-12-06 13:55:05 -05:00
sdhci-pltfm.h mmc: sdhci: remove "state" argument from sdhci_suspend_host 2011-12-19 15:50:11 -08:00
sdhci-pxav2.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
sdhci-pxav3.c mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users 2013-02-11 12:51:23 -05:00
sdhci-s3c.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
sdhci-spear.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
sdhci-tegra.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
sdhci.c mmc: sdhci: query card presence from cd-gpio before asking SDHCI 2013-02-11 12:51:23 -05:00
sdhci.h mmc: eSDHC: Recover from ADMA errors 2012-12-06 13:55:13 -05:00
sdricoh_cs.c
sh_mmcif.c mmc: sh_mmcif: fix I/O errors 2013-02-11 13:28:38 -05:00
sh_mobile_sdhi.c Driver core updates for 3.8-rc1 2012-12-11 13:13:55 -08:00
tifm_sd.c Autogenerated GPG tag for Rusty D1ADB8F1: 15EE 8D6C AB0E 7F0C F999 BFCB D920 0E6C D1AD B8F1 2012-01-14 12:32:16 -08:00
tmio_mmc_dma.c Merge branch 'next' of git://git.infradead.org/users/vkoul/slave-dma 2012-03-29 15:34:57 -07:00
tmio_mmc_pio.c mmc: remove unncessary mmc_gpio_free_cd() call from slot-gpio users 2013-02-11 12:51:23 -05:00
tmio_mmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
tmio_mmc.h mmc: tmio_mmc: remove unused sdio_irq_enabled flag 2012-03-27 12:20:17 -04:00
ushc.c USB: convert some miscellanies drivers to use module_usb_driver() 2011-11-18 09:52:10 -08:00
via-sdmmc.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
vub300.c mmc: vub300: add missing usb_put_dev 2012-12-06 13:55:03 -05:00
wbsd.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
wbsd.h
wmt-sdmmc.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00