Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 428a40c5 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

ia64: Cleanup migrate_irqs()

parent 097e98b4
Loading
Loading
Loading
Loading
+14 −13
Original line number Diff line number Diff line
@@ -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;
@@ -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
@@ -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));
			}
		}
	}