linux_old1/drivers/mmc/host
Terry Barnaby bdbc5d0c60 mmc: atmel-mci: pio hang on block errors
The driver is doing, by default, multi-block reads. When a block error
occurs, card/block.c instigates a single block read: "mmcblk0: retrying
using single block read".  It leaves the sg chain intact and just changes
the length attribute for the first sg entry and the overall sg_len
parameter.  When atmci_read_data_pio is called to read the single block
of data it ignores the sg_len and expects to read more than 512 bytes as
it sees there are multiple items in the sg list. No more data comes as
the controller has only been commanded to get one block.

Signed-off-by: Terry Barnaby <terry@beam.ltd.uk>
Acked-by: Ludovic Desroches <ludovic.desroches@atmel.com>
Cc: stable <stable@vger.kernel.org> # 3.2+
Signed-off-by: Chris Ball <cjb@laptop.org>
2013-04-08 12:05:47 -04:00
..
Kconfig mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
Makefile mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
android-goldfish.c mmc: android-goldfish: use resource_size() 2013-03-22 12:53:52 -04: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 mmc: atmel-mci: pio hang on block errors 2013-04-08 12:05:47 -04: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: davinci_mmc: use module_platform_driver_probe() 2013-03-22 12:29:01 -04:00
dw_mmc-exynos.c mmc: dw_mmc: Add MSHC compatible for Exynos4412 2013-03-22 12:55:32 -04:00
dw_mmc-pci.c Drivers: mmc: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
dw_mmc-pltfm.c mmc: Convert to devm_ioremap_resource() 2013-01-25 12:21:47 -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: Use pr_info instead of printk 2013-04-04 10:18:27 -04: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
mmc_spi.c mmc: remove use of __devexit 2012-11-28 12:28:18 -08:00
mmci.c ARM: 7630/1: mmc: mmci: Fixup and cleanup code for DMA handling 2013-01-28 14:14:48 +00:00
mmci.h ARM: 7631/1: mmc: mmci: Add new VE MMCI variant 2013-01-28 14:11:53 +00:00
msm_sdcc.c ARM: msm: move platform_data definitions 2012-09-14 11:17:35 +02:00
msm_sdcc.h mmc: msm_sdcc: Use MCI_INT_MASK0 for PIO interrupts 2011-10-26 15:43:37 -04:00
mvsdio.c mmc: mvsdio: use dev_*() API instead of pr_*() API 2013-03-22 13:29:47 -04:00
mvsdio.h
mxcmmc.c ARM: arm-soc: Cleanups on various subarchitectures 2012-12-12 11:51:39 -08:00
mxs-mmc.c MMC highlights for 3.9: 2013-02-26 09:31:09 -08:00
of_mmc_spi.c mmc: mmc_spi: Fix return value evaluation of irq_of_parse_and_map() 2013-02-24 14:37:10 -05:00
omap.c ARM: arm-soc: Header cleanups 2012-12-12 11:45:16 -08:00
omap_hsmmc.c mmc: omap_hsmmc: support deferred probing for GPIOs 2013-03-22 11:51:49 -04:00
pxamci.c mmc: remove use of __devinit 2012-11-28 12:28:18 -08:00
pxamci.h
rtsx_pci_sdmmc.c mmc: rtsx_pci_sdmmc: Don't execute power up sequence repeatedly 2013-03-22 12:35:42 -04: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-bcm2835.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-cns3xxx.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-dove.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-esdhc-imx.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04: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 mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-of-hlwd.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pci-data.c mmc: sdhci-pci: add platform data 2012-01-11 23:58:47 -05:00
sdhci-pci.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pltfm.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pltfm.h mmc: sdhci-pltfm: Constify the ops field of sdhci_pltfm_data struct 2013-03-22 13:00:29 -04:00
sdhci-pxav2.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci-pxav3.c mmc: sdhci-pxav3: controller should use SDCLK for timeout calculation 2013-04-04 09:59:42 -04:00
sdhci-s3c.c mmc: sdhci-s3c: let device core setup the default pin configuration 2013-03-22 12:33:21 -04:00
sdhci-sirf.c mmc: sdhci-sirf: add mmc host sdhci-pltfm based driver for SiRF SoCs 2013-03-22 13:29:46 -04:00
sdhci-spear.c mmc: sdhci-spear: add CONFIG_PM_SLEEP to suspend/resume functions 2013-04-04 10:13:58 -04:00
sdhci-tegra.c mmc: sdhci: Constify sdhci_ops structs where possible 2013-03-22 13:00:51 -04:00
sdhci.c mmc: sdhci: Don't ignore regulator_enable() return value 2013-03-22 12:40:05 -04:00
sdhci.h mmc: sdhci: enhance preset value function 2013-02-24 14:37:11 -05:00
sdricoh_cs.c mmc: Add module.h to drivers/mmc users assuming implicit presence. 2011-10-26 16:32:19 -04:00
sh_mmcif.c mmc: sh_mmcif: use mmc_of_parse() to parse standard MMC DT bindings 2013-02-24 14:37:21 -05:00
sh_mobile_sdhi.c mmc: sh_mobile_sdhi: use managed resource allocations 2013-02-24 14:37:23 -05: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.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
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: tmio: add support for the VccQ regulator 2013-02-24 14:37:24 -05: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 mmc: wmt-sdmmc: Use resource_size() 2013-03-22 12:38:46 -04:00