diff options
-rw-r--r-- | drivers/irqchip/irq-mips-gic.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/irqchip/irq-mips-gic.c b/drivers/irqchip/irq-mips-gic.c index 6ab1d3afec02..48ee1bad473f 100644 --- a/drivers/irqchip/irq-mips-gic.c +++ b/drivers/irqchip/irq-mips-gic.c | |||
@@ -1020,8 +1020,11 @@ static int __init gic_of_init(struct device_node *node, | |||
1020 | gic_len = resource_size(&res); | 1020 | gic_len = resource_size(&res); |
1021 | } | 1021 | } |
1022 | 1022 | ||
1023 | if (mips_cm_present()) | 1023 | if (mips_cm_present()) { |
1024 | write_gcr_gic_base(gic_base | CM_GCR_GIC_BASE_GICEN_MSK); | 1024 | write_gcr_gic_base(gic_base | CM_GCR_GIC_BASE_GICEN_MSK); |
1025 | /* Ensure GIC region is enabled before trying to access it */ | ||
1026 | __sync(); | ||
1027 | } | ||
1025 | gic_present = true; | 1028 | gic_present = true; |
1026 | 1029 | ||
1027 | __gic_init(gic_base, gic_len, cpu_vec, 0, node); | 1030 | __gic_init(gic_base, gic_len, cpu_vec, 0, node); |