summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorShanker Donthineni <shankerd@codeaurora.org>2017-03-07 08:20:38 -0600
committerMarc Zyngier <marc.zyngier@arm.com>2017-03-07 14:34:27 +0000
commit90922a2d03d84de36bf8a9979d62580102f31a92 (patch)
tree5f0f9da3b20bf6b01a1f6f87f25496d62c59676c /arch
parentb3e228473e6cec7cf83b4025b4570c8066ab2dd8 (diff)
downloadlinux-stable-90922a2d03d84de36bf8a9979d62580102f31a92.tar.gz
linux-stable-90922a2d03d84de36bf8a9979d62580102f31a92.tar.bz2
linux-stable-90922a2d03d84de36bf8a9979d62580102f31a92.zip
irqchip/gicv3-its: Add workaround for QDF2400 ITS erratum 0065
On Qualcomm Datacenter Technologies QDF2400 SoCs, the ITS hardware implementation uses 16Bytes for Interrupt Translation Entry (ITE), but reports an incorrect value of 8Bytes in GITS_TYPER.ITTE_size. It might cause kernel memory corruption depending on the number of MSI(x) that are configured and the amount of memory that has been allocated for ITEs in its_create_device(). This patch fixes the potential memory corruption by setting the correct ITE size to 16Bytes. Cc: stable@vger.kernel.org Signed-off-by: Shanker Donthineni <shankerd@codeaurora.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm64/Kconfig10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig
index a39029b5414e..8c7c244247b6 100644
--- a/arch/arm64/Kconfig
+++ b/arch/arm64/Kconfig
@@ -508,6 +508,16 @@ config QCOM_FALKOR_ERRATUM_1009
If unsure, say Y.
+config QCOM_QDF2400_ERRATUM_0065
+ bool "QDF2400 E0065: Incorrect GITS_TYPER.ITT_Entry_size"
+ default y
+ help
+ On Qualcomm Datacenter Technologies QDF2400 SoC, ITS hardware reports
+ ITE size incorrectly. The GITS_TYPER.ITT_Entry_size field should have
+ been indicated as 16Bytes (0xf), not 8Bytes (0x7).
+
+ If unsure, say Y.
+
endmenu