arm64: smp: Handle errors reported by the firmware
authorSuzuki K Poulose <Suzuki.Poulose@arm.com>
Mon, 10 Dec 2018 18:07:33 +0000 (18:07 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 5 Dec 2019 08:19:59 +0000 (09:19 +0100)
commit4b40393b5240356e54f6b27bd39a9294a69a7081
tree6011aa3f06c3ffbb8ca815fda530477ba193a7ad
parente3d27b94111bd024e9ef929020e38ddbfc19d1dc
arm64: smp: Handle errors reported by the firmware

[ Upstream commit f357b3a7e17af7736d67d8267edc1ed3d1dd9391 ]

The __cpu_up() routine ignores the errors reported by the firmware
for a CPU bringup operation and looks for the error status set by the
booting CPU. If the CPU never entered the kernel, we could end up
in assuming stale error status, which otherwise would have been
set/cleared appropriately by the booting CPU.

Reported-by: Steve Capper <steve.capper@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Suzuki K Poulose <suzuki.poulose@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/kernel/smp.c