linux-stable/arch/arm64/boot/dts
Daniel Lezcano 0fbdf9953b arm64: dts: hi6220: Reset the mmc hosts
The MMC hosts could be left in an unconsistent or uninitialized state from
the firmware. Instead of assuming, the firmware did the right things, let's
reset the host controllers.

This change fixes a bug when the mmc2/sdio is initialized leading to a hung
task:

[  242.704294] INFO: task kworker/7:1:675 blocked for more than 120 seconds.
[  242.711129]       Not tainted 4.9.0-rc8-00017-gcf0251f #3
[  242.716571] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[  242.724435] kworker/7:1     D    0   675      2 0x00000000
[  242.729973] Workqueue: events_freezable mmc_rescan
[  242.734796] Call trace:
[  242.737269] [<ffff00000808611c>] __switch_to+0xa8/0xb4
[  242.742437] [<ffff000008d07c04>] __schedule+0x1c0/0x67c
[  242.747689] [<ffff000008d08254>] schedule+0x40/0xa0
[  242.752594] [<ffff000008d0b284>] schedule_timeout+0x1c4/0x35c
[  242.758366] [<ffff000008d08e38>] wait_for_common+0xd0/0x15c
[  242.763964] [<ffff000008d09008>] wait_for_completion+0x28/0x34
[  242.769825] [<ffff000008a1a9f4>] mmc_wait_for_req_done+0x40/0x124
[  242.775949] [<ffff000008a1ab98>] mmc_wait_for_req+0xc0/0xf8
[  242.781549] [<ffff000008a1ac3c>] mmc_wait_for_cmd+0x6c/0x84
[  242.787149] [<ffff000008a26610>] mmc_io_rw_direct_host+0x9c/0x114
[  242.793270] [<ffff000008a26aa0>] sdio_reset+0x34/0x7c
[  242.798347] [<ffff000008a1d46c>] mmc_rescan+0x2fc/0x360

[ ... ]

Cc: stable@vger.kernel.org
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Signed-off-by: Wei Xu <xuwei5@hisilicon.com>
2017-04-06 11:37:21 +08:00
..
al arm64: dts: alpine: add the MSIX node in the Alpine v2 dtsi 2016-02-26 22:58:10 +01:00
allwinner arm64: allwinner: add BananaPi-M64 support 2017-01-30 11:37:42 +01:00
altera arm64: dts: Fix broken architected timer interrupt trigger 2016-09-14 22:47:22 +02:00
amd arm64: dts: amd: Fix-up for ccn504 and kcs nodes 2016-02-24 14:02:19 -08:00
amlogic Merge branch 'next/late' with mainline 2017-03-02 17:52:44 +01:00
apm ARM: 64-bit DT updates for v4.8 2016-10-07 21:32:39 -07:00
arm Merge tag 'juno-fixes-4.11' of git://git.kernel.org/pub/scm/linux/kernel/git/sudeep.holla/linux into next/late 2017-03-02 23:08:31 +01:00
broadcom arm64: dts: NS2: add support for XMC form factor 2017-01-03 15:23:22 -08:00
cavium arm64: dts: Fix broken architected timer interrupt trigger 2016-09-14 22:47:22 +02:00
exynos Merge branch 'next/late' with mainline 2017-03-02 17:52:44 +01:00
freescale arm64: dts: ls1046a: Add TMU device tree support 2017-01-10 11:12:14 +08:00
hisilicon arm64: dts: hi6220: Reset the mmc hosts 2017-04-06 11:37:21 +08:00
include arm64: Create link to include/dt-bindings to enable C preprocessor use. 2014-11-20 17:51:09 +01:00
lg ARM: 64-bit DT updates for v4.8 2016-08-01 18:47:01 -04:00
marvell arm64: dts: marvell: adjust name of sd-mmc-gop clock in syscon 2017-01-31 11:51:45 +01:00
mediatek ARM: 64-bit DT updates for v4.11 2017-02-23 15:52:14 -08:00
nvidia arm64: tegra: Use symbolic reset identifiers 2017-01-27 10:13:24 +01:00
qcom Qualcomm ARM64 Updates for v4.11 Part 2 2017-02-09 16:15:36 +01:00
renesas Second Round of Renesas ARM64 Based SoC DT Updates for v4.11 2017-01-29 20:57:26 -08:00
rockchip arm64: dts: rockchip: add rockchip,grf property for RK3399 PMUCRU/CRU 2017-01-13 20:03:15 +01:00
socionext arm64: dts: uniphier: add eMMC controller node for LD11/LD20 2017-01-22 21:12:42 +09:00
sprd arm64: dts: sprd: adding ETM entries to Spreadtrum SC9836 2015-07-15 06:00:22 -04:00
xilinx ARM64: zynqmp: Fix i2c node's compatible string 2017-01-02 14:14:36 +01:00
zte arm64: dts: zx: support cpu-freq for zx296718 2017-01-03 15:33:15 +08:00
.gitignore
Makefile arm64: dts: add Pine64 support 2016-11-03 09:08:24 +01:00