From 625edaac7123a19d60f59eef924f038f8c3eb2ca Mon Sep 17 00:00:00 2001 From: Russell King Date: Sat, 26 May 2007 12:08:29 +0100 Subject: [PATCH] --- yaml --- r: 57117 b: refs/heads/master c: 28c670cb9b0df7c8579f78c9d06e148896378cf4 h: refs/heads/master i: 57115: ef42472fdec00df81c5b2b398fa6f6d96706dc64 v: v3 --- [refs] | 2 +- trunk/arch/arm/oprofile/op_model_mpcore.c | 9 +++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index 2dab183228fd..2f4da0e6880a 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 5b10c8e436b69f25b6dcb5586bbdc5e39c20ed1d +refs/heads/master: 28c670cb9b0df7c8579f78c9d06e148896378cf4 diff --git a/trunk/arch/arm/oprofile/op_model_mpcore.c b/trunk/arch/arm/oprofile/op_model_mpcore.c index 898500718249..7791da791f5f 100644 --- a/trunk/arch/arm/oprofile/op_model_mpcore.c +++ b/trunk/arch/arm/oprofile/op_model_mpcore.c @@ -257,8 +257,13 @@ static void em_stop(void) */ static void em_route_irq(int irq, unsigned int cpu) { - irq_desc[irq].affinity = cpumask_of_cpu(cpu); - irq_desc[irq].chip->set_affinity(irq, cpumask_of_cpu(cpu)); + struct irq_desc *desc = irq_desc + irq; + cpumask_t mask = cpumask_of_cpu(cpu); + + spin_lock_irq(&desc->lock); + desc->affinity = mask; + desc->chip->set_affinity(irq, mask); + spin_unlock_irq(&desc->lock); } static int em_setup(void)