linux-hardened/drivers/mmc/core
Guenter Roeck 773dc11875 mmc: core: Fix access to HS400-ES devices
HS400-ES devices fail to initialize with the following error messages.

mmc1: power class selection to bus width 8 ddr 0 failed
mmc1: error -110 whilst initialising MMC card

This was seen on Samsung Chromebook Plus. Code analysis points to
commit 3d4ef32975 ("mmc: core: fix multi-bit bus width without
high-speed mode"), which attempts to set the bus width for all but
HS200 devices unconditionally. However, for HS400-ES, the bus width
is already selected.

Cc: Anssi Hannula <anssi.hannula@bitwise.fi>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Brian Norris <briannorris@chromium.org>
Fixes: 3d4ef32975 ("mmc: core: fix multi-bit bus width ...")
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Shawn Lin <shawn.lin@rock-chip.com>
Tested-by: Heiko Stuebner <heiko@sntech.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
2017-03-14 17:07:45 +01:00
..
block.c mmc: core: add mmc prefix for blk_fixups 2017-02-15 11:34:27 +01:00
block.h mmc: block: stop passing around pointless return values 2017-02-13 13:20:40 +01:00
bus.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
bus.h mmc: core: Move public functions from card.h to private headers 2017-02-13 13:20:24 +01:00
card.h mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
core.c mmc: core: start to break apart mmc_start_areq() 2017-02-14 09:10:53 +01:00
core.h mmc: core: Rename __mmc_set_signal_voltage() to mmc_set_signal_voltage() 2017-02-13 13:20:43 +01:00
debugfs.c mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
host.c mmc: core: fix error path in mmc_host_alloc 2017-02-13 13:20:48 +01:00
host.h mmc: core: Move public functions from host.h to private headers 2017-02-13 13:20:25 +01:00
Kconfig mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
Makefile mmc: core: change quirks.c to be a header file 2017-02-15 11:34:26 +01:00
mmc.c mmc: core: Fix access to HS400-ES devices 2017-03-14 17:07:45 +01:00
mmc_ops.c mmc: use empty initializer list to zero-clear structures 2017-02-13 13:19:54 +01:00
mmc_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
mmc_test.c mmc: core: rename mmc_start_req() to *areq() 2017-02-13 13:20:58 +01:00
pwrseq.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
pwrseq_emmc.c mmc: pwrseq: convert to proper platform device 2016-05-02 10:33:30 +02:00
pwrseq_sd8787.c mmc: pwrseq: add support for Marvell SD8787 chip 2017-02-13 13:20:33 +01:00
pwrseq_simple.c mmc: pwrseq-simple: Add an optional post-power-on-delay 2016-09-26 21:31:07 +02:00
queue.c MMC core: 2017-02-21 12:04:54 -08:00
queue.h mmc: queue: turn queue flags into bools 2017-02-13 13:21:00 +01:00
quirks.h mmc: core: add mmc prefix for blk_fixups 2017-02-15 11:34:27 +01:00
sd.c mmc: core: Clarify usage of mmc_set_signal_voltage() 2017-02-13 13:20:43 +01:00
sd.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sd_ops.c mmc: use empty initializer list to zero-clear structures 2017-02-13 13:19:54 +01:00
sd_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
sdio.c mmc: core: improve the quirks for sdio devices 2017-02-15 11:34:26 +01:00
sdio_bus.c mmc: core: Move public functions from card.h to private headers 2017-02-13 13:20:24 +01:00
sdio_bus.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_cis.c mmc: core: remove BUG_ONs from sdio 2016-12-05 10:31:08 +01:00
sdio_cis.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00
sdio_io.c mmc: core: Move public functions from card.h to private headers 2017-02-13 13:20:24 +01:00
sdio_irq.c sched/headers: Prepare for new header dependencies before moving code to <uapi/linux/sched/types.h> 2017-03-02 08:42:27 +01:00
sdio_ops.c mmc: use empty initializer list to zero-clear structures 2017-02-13 13:19:54 +01:00
sdio_ops.h mmc: core: Move public functions from core.h to private headers 2017-02-13 13:20:21 +01:00
sdio_uart.c mmc: block: Move files to core 2016-12-12 16:30:05 +01:00
slot-gpio.c mmc: slot-gpio: Don't override con_id when request descriptor 2017-02-13 13:20:06 +01:00
slot-gpio.h mmc: core: First step in cleaning up private mmc header files 2017-02-13 13:20:20 +01:00