Christoph Fritz
91516a2a47
mmc: core: apply NO_CMD23 quirk to some specific cards
To get an usdhc Apacer and some ATP SD cards work reliable, CMD23 needs
to be disabled. This has been tested on i.MX6 (sdhci-esdhc) and rk3288
(dw_mmc-rockchip).
Without this patch on i.MX6 (sdhci-esdhc):
$ dd if=/dev/urandom of=/mnt/test bs=1M count=10 conv=fsync
| <mmc0: starting CMD23 arg 00000400 flags 00000015>
| mmc0: starting CMD25 arg 00a71f00 flags 000000b5
| mmc0: blksz 512 blocks 1024 flags 00000100 tsac 3000 ms nsac 0
| mmc0: CMD12 arg 00000000 flags 0000049d
| sdhci [sdhci_irq()]: *** mmc0 got interrupt: 0x00000001
| mmc0: Timeout waiting for hardware interrupt.
Without this patch on rk3288 (dw_mmc-rockchip):
| mmc1: Card stuck in programming state! mmcblk1 card_busy_detect
| dwmmc_rockchip ff0c0000.dwmmc: Busy; trying anyway
| mmc_host mmc1: Bus speed (slot 0) = 400000Hz (slot req 400000Hz,
| actual 400000HZ div = 0)
| mmc1: card never left busy state
| mmc1: tried to reset card, got error -110
| blk_update_request: I/O error, dev mmcblk1, sector 139778
| Buffer I/O error on dev mmcblk1p1, logical block 131586, lost async
| page write
Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com>
Cc: <stable@vger.kernel.org> # v4.14+
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-12-11 13:43:27 +01:00
..
2017-11-23 14:39:13 +01:00
2017-11-02 11:10:55 +01:00
2017-11-23 14:09:21 +01:00
2017-02-13 13:20:24 +01:00
2017-12-11 13:43:27 +01:00
2017-10-30 11:50:32 +01:00
2017-10-30 11:45:57 +01:00
2017-11-23 14:39:13 +01:00
2017-11-21 15:57:07 -08:00
2017-10-30 11:45:56 +01:00
2017-06-20 10:30:17 +02:00
2017-11-02 11:10:55 +01:00
2017-10-30 11:45:56 +01:00
2017-06-20 10:30:45 +02:00
2017-08-30 15:03:37 +02:00
2017-12-05 17:14:00 +01:00
2017-06-20 10:30:10 +02:00
2017-02-13 13:20:33 +01:00
2017-05-23 14:17:36 +02:00
2017-06-20 10:30:09 +02:00
2017-06-20 10:30:09 +02:00
2017-10-30 11:45:52 +01:00
2017-11-13 10:17:35 -08:00
2017-12-11 13:43:27 +01:00
2017-04-24 21:42:19 +02:00
2017-04-24 21:42:19 +02:00
2017-11-29 10:46:53 +01:00
2017-11-02 11:10:55 +01:00
2017-04-18 19:18:07 +02:00
2017-02-13 13:20:20 +01:00
2016-12-05 10:31:08 +01:00
2017-02-13 13:20:20 +01:00
2017-04-24 21:41:24 +02:00
2017-10-30 11:45:49 +01:00
2017-04-24 21:41:42 +02:00
2017-06-20 10:30:11 +02:00
2016-12-12 16:30:05 +01:00
2017-06-20 10:30:39 +02:00
2017-06-20 10:30:49 +02:00
2017-02-13 13:20:20 +01:00