aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2015-10-15 09:32:46 -0400
committerArnd Bergmann <arnd@arndb.de>2015-10-15 11:10:15 -0400
commita0bcbe969f564d1ec08658170dda72a1b7e9053a (patch)
treeee04446a3457f3bb5e634ceb02c0031364274ce9
parentb20519fd5007908c6a816cab1b9db911915e9fbd (diff)
bus: arm-ccn: Fix irq affinity setting on CPU migration
When PMU context is migrating between CPUs, interrupt affinity is set as well. Only this should not happen when the CCN interrupt is not being used at all (the driver is using a hrtimer tick instead). Fixed now. Cc: <stable@vger.kernel.org> # 4.2+ Signed-off-by: Pawel Moll <pawel.moll@arm.com> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
-rw-r--r--drivers/bus/arm-ccn.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/bus/arm-ccn.c b/drivers/bus/arm-ccn.c
index cc322fbde9af..7082c7268845 100644
--- a/drivers/bus/arm-ccn.c
+++ b/drivers/bus/arm-ccn.c
@@ -1188,7 +1188,8 @@ static int arm_ccn_pmu_cpu_notifier(struct notifier_block *nb,
1188 break; 1188 break;
1189 perf_pmu_migrate_context(&dt->pmu, cpu, target); 1189 perf_pmu_migrate_context(&dt->pmu, cpu, target);
1190 cpumask_set_cpu(target, &dt->cpu); 1190 cpumask_set_cpu(target, &dt->cpu);
1191 WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0); 1191 if (ccn->irq)
1192 WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0);
1192 default: 1193 default:
1193 break; 1194 break;
1194 } 1195 }