Message ID | 20201217141400.106137-8-alexandru.elisei@arm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | GIC fixes and improvements | expand |
diff --git a/arm/gic.c b/arm/gic.c index a42b5afdba65..ec733719c776 100644 --- a/arm/gic.c +++ b/arm/gic.c @@ -118,7 +118,6 @@ static void check_spurious(void) { int cpu; - smp_rmb(); for_each_present_cpu(cpu) { if (spurious[cpu]) report_info("WARN: cpu%d got %d spurious interrupts", @@ -162,8 +161,10 @@ static void ipi_handler(struct pt_regs *regs __unused) ++acked[smp_processor_id()]; } else { ++spurious[smp_processor_id()]; - smp_wmb(); } + + /* Wait for writes to acked/spurious to complete */ + dsb(ishst); } static void setup_irq(irq_handler_fn handler)