@@ -113,7 +113,7 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
int cpu_dest;
/* timer and ipi have to always be received on all CPUs */
- if (CHECK_IRQ_PER_CPU(irq)) {
+ if (CHECK_IRQ_PER_CPU(irq_to_desc(d->irq)->status)) {
/* Bad linux design decision. The mask has already
* been set; we must reset it. Will fix - tglx
*/
@@ -128,11 +128,11 @@ int cpu_check_affinity(struct irq_data *d, const struct cpumask *dest)
}
static int cpu_set_affinity_irq(struct irq_data *d, const struct cpumask *dest,
- bool force))
+ bool force)
{
int cpu_dest;
- cpu_dest = cpu_check_affinity(d->irq, dest);
+ cpu_dest = cpu_check_affinity(d, dest);
if (cpu_dest < 0)
return -1;
@@ -693,7 +693,7 @@ static int iosapic_set_affinity_irq(struct irq_data *d,
return -1;
cpumask_copy(d->affinity, cpumask_of(dest_cpu));
- vi->txn_addr = txn_affinity_addr(irq, dest_cpu);
+ vi->txn_addr = txn_affinity_addr(d->irq, dest_cpu);
spin_lock_irqsave(&iosapic_lock, flags);
/* d1 contains the destination CPU, so only want to set that