aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/bus
diff options
context:
space:
mode:
authorPawel Moll <pawel.moll@arm.com>2015-10-15 14:32:46 +0100
committerArnd Bergmann <arnd@arndb.de>2015-10-15 17:10:15 +0200
commita0bcbe969f564d1ec08658170dda72a1b7e9053a (patch)
treeee04446a3457f3bb5e634ceb02c0031364274ce9 /drivers/bus
parentbus: arm-ccn: Handle correctly no-more-cpus case (diff)
downloadlinux-dev-a0bcbe969f564d1ec08658170dda72a1b7e9053a.tar.xz
linux-dev-a0bcbe969f564d1ec08658170dda72a1b7e9053a.zip
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>
Diffstat (limited to 'drivers/bus')
-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,
break;
perf_pmu_migrate_context(&dt->pmu, cpu, target);
cpumask_set_cpu(target, &dt->cpu);
- WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0);
+ if (ccn->irq)
+ WARN_ON(irq_set_affinity(ccn->irq, &dt->cpu) != 0);
default:
break;
}