Loading arch/ia64/kernel/irq.c +14 −13 Original line number Diff line number Diff line Loading @@ -130,11 +130,12 @@ unsigned int vectors_in_migration[NR_IRQS]; */ static void migrate_irqs(void) { struct irq_desc *desc; int irq, new_cpu; for (irq=0; irq < NR_IRQS; irq++) { desc = irq_desc + irq; struct irq_desc *desc = irq_to_desc(irq); struct irq_data *data = irq_desc_get_irq_data(desc); struct irq_chip *chip = irq_data_get_irq_chip(data); if (desc->status == IRQ_DISABLED) continue; Loading @@ -145,10 +146,10 @@ static void migrate_irqs(void) * tell CPU not to respond to these local intr sources. * such as ITV,CPEI,MCA etc. */ if (desc->status == IRQ_PER_CPU) if (irqd_is_per_cpu(data)) continue; if (cpumask_any_and(irq_desc[irq].affinity, cpu_online_mask) if (cpumask_any_and(data->affinity, cpu_online_mask) >= nr_cpu_ids) { /* * Save it for phase 2 processing Loading @@ -160,16 +161,16 @@ static void migrate_irqs(void) /* * Al three are essential, currently WARN_ON.. maybe panic? */ if (desc->chip && desc->chip->disable && desc->chip->enable && desc->chip->set_affinity) { desc->chip->disable(irq); desc->chip->set_affinity(irq, cpumask_of(new_cpu)); desc->chip->enable(irq); if (chip && chip->irq_disable && chip->irq_enable && chip->irq_set_affinity) { chip->irq_disable(data); chip->irq_set_affinity(data, cpumask_of(new_cpu), false); chip->irq_enable(data); } else { WARN_ON((!(desc->chip) || !(desc->chip->disable) || !(desc->chip->enable) || !(desc->chip->set_affinity))); WARN_ON((!chip || !chip->irq_disable || !chip->irq_enable || !chip->irq_set_affinity)); } } } Loading Loading
arch/ia64/kernel/irq.c +14 −13 Original line number Diff line number Diff line Loading @@ -130,11 +130,12 @@ unsigned int vectors_in_migration[NR_IRQS]; */ static void migrate_irqs(void) { struct irq_desc *desc; int irq, new_cpu; for (irq=0; irq < NR_IRQS; irq++) { desc = irq_desc + irq; struct irq_desc *desc = irq_to_desc(irq); struct irq_data *data = irq_desc_get_irq_data(desc); struct irq_chip *chip = irq_data_get_irq_chip(data); if (desc->status == IRQ_DISABLED) continue; Loading @@ -145,10 +146,10 @@ static void migrate_irqs(void) * tell CPU not to respond to these local intr sources. * such as ITV,CPEI,MCA etc. */ if (desc->status == IRQ_PER_CPU) if (irqd_is_per_cpu(data)) continue; if (cpumask_any_and(irq_desc[irq].affinity, cpu_online_mask) if (cpumask_any_and(data->affinity, cpu_online_mask) >= nr_cpu_ids) { /* * Save it for phase 2 processing Loading @@ -160,16 +161,16 @@ static void migrate_irqs(void) /* * Al three are essential, currently WARN_ON.. maybe panic? */ if (desc->chip && desc->chip->disable && desc->chip->enable && desc->chip->set_affinity) { desc->chip->disable(irq); desc->chip->set_affinity(irq, cpumask_of(new_cpu)); desc->chip->enable(irq); if (chip && chip->irq_disable && chip->irq_enable && chip->irq_set_affinity) { chip->irq_disable(data); chip->irq_set_affinity(data, cpumask_of(new_cpu), false); chip->irq_enable(data); } else { WARN_ON((!(desc->chip) || !(desc->chip->disable) || !(desc->chip->enable) || !(desc->chip->set_affinity))); WARN_ON((!chip || !chip->irq_disable || !chip->irq_enable || !chip->irq_set_affinity)); } } } Loading