iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel
authorWill Deacon <will.deacon@arm.com>
Tue, 23 Apr 2019 10:59:36 +0000 (11:59 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 15 Jun 2019 09:54:07 +0000 (11:54 +0200)
commit4b19a45eed4d32ca9ec50da0ebc4ea582032e331
tree6b7dc9f84119cd730f4b9f6d77896b290ae4e372
parentf7883f9b5a6777f1b1a19c82aa42978181300f3b
iommu/arm-smmu-v3: Don't disable SMMU in kdump kernel

[ Upstream commit 3f54c447df34ff9efac7809a4a80fd3208efc619 ]

Disabling the SMMU when probing from within a kdump kernel so that all
incoming transactions are terminated can prevent the core of the crashed
kernel from being transferred off the machine if all I/O devices are
behind the SMMU.

Instead, continue to probe the SMMU after it is disabled so that we can
reinitialise it entirely and re-attach the DMA masters as they are reset.
Since the kdump kernel may not have drivers for all of the active DMA
masters, we suppress fault reporting to avoid spamming the console and
swamping the IRQ threads.

Reported-by: "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
Tested-by: "Leizhen (ThunderTown)" <thunder.leizhen@huawei.com>
Tested-by: Bhupesh Sharma <bhsharma@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/iommu/arm-smmu-v3.c