Using spin_lock_irq here is unnecessary (interrupts are not yet enabled) and
wrong (since they will get unexpectedly renabled by spin_unlock_irq).
We can just use spin_lock/spin_unlock.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: tim@xen.org
---
Now an SMP model gets as far as hanging at dom0 "Calibrating delay
loop...".
Tim, didn''t you diagnose that a while ago?
---
xen/arch/arm/gic.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/xen/arch/arm/gic.c b/xen/arch/arm/gic.c
index 378158b..6f5b0e1 100644
--- a/xen/arch/arm/gic.c
+++ b/xen/arch/arm/gic.c
@@ -323,10 +323,10 @@ int __init gic_init(void)
/* Set up the per-CPU parts of the GIC for a secondary CPU */
void __cpuinit gic_init_secondary_cpu(void)
{
- spin_lock_irq(&gic.lock);
+ spin_lock(&gic.lock);
gic_cpu_init();
gic_hyp_init();
- spin_unlock_irq(&gic.lock);
+ spin_unlock(&gic.lock);
}
/* Shut down the per-CPU GIC interface */
--
1.7.9.1