Browse Source

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>
Pawel Moll 9 years ago
parent
commit
a0bcbe969f
1 changed files with 2 additions and 1 deletions
  1. 2 1
      drivers/bus/arm-ccn.c

+ 2 - 1
drivers/bus/arm-ccn.c

@@ -1188,7 +1188,8 @@ static int arm_ccn_pmu_cpu_notifier(struct notifier_block *nb,
 			break;
 			break;
 		perf_pmu_migrate_context(&dt->pmu, cpu, target);
 		perf_pmu_migrate_context(&dt->pmu, cpu, target);
 		cpumask_set_cpu(target, &dt->cpu);
 		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:
 	default:
 		break;
 		break;
 	}
 	}