From 8ea9c15b8e3ad32bb6a2f0a4dbb3995ffa55f815 Mon Sep 17 00:00:00 2001 From: Hou Zhiqiang Date: Tue, 10 Mar 2020 22:14:50 +0800 Subject: [PATCH] board: lx2160a: Don't program the GIC RD tables if failed to reserve memory Program the GIC redistributor tables only when succeeded to reserve memory for them, otherwise kernel will lose the chance to program them using allocated memory. Signed-off-by: Hou Zhiqiang --- board/freescale/lx2160a/lx2160a.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/board/freescale/lx2160a/lx2160a.c b/board/freescale/lx2160a/lx2160a.c index c7bd352..06bb1f4 100644 --- a/board/freescale/lx2160a/lx2160a.c +++ b/board/freescale/lx2160a/lx2160a.c @@ -726,6 +726,7 @@ int ft_board_setup(void *blob, bd_t *bd) u64 mc_memory_size = 0; u16 total_memory_banks; u64 gic_lpi_base; + int ret; ft_cpu_setup(blob, bd); @@ -747,8 +748,9 @@ int ft_board_setup(void *blob, bd_t *bd) #ifdef CONFIG_GIC_V3_ITS gic_lpi_base = gd->arch.resv_ram - GIC_LPI_SIZE; - gic_lpi_tables_init(gic_lpi_base, cpu_numcores()); - fdt_fixup_gic_lpi_memory(blob, gic_lpi_base); + ret = fdt_fixup_gic_lpi_memory(blob, gic_lpi_base); + if (!ret && gic_lpi_tables_init(gic_lpi_base, cpu_numcores())) + debug("%s: failed to init gic-lpi-tables\n", __func__); #endif #ifdef CONFIG_RESV_RAM -- 1.9.1