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

Commit 51c43ac6 authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

x86: Use the proper accessors in fixup_irqs()

parent 5451ddc5
Loading
Loading
Loading
Loading
+13 −10
Original line number Diff line number Diff line
@@ -293,6 +293,7 @@ void fixup_irqs(void)
	static int warned;
	struct irq_desc *desc;
	struct irq_data *data;
	struct irq_chip *chip;

	for_each_irq_desc(irq, desc) {
		int break_affinity = 0;
@@ -307,7 +308,7 @@ void fixup_irqs(void)
		/* interrupt's are disabled at this point */
		raw_spin_lock(&desc->lock);

		data = &desc->irq_data;
		data = irq_desc_get_irq_data(desc);
		affinity = data->affinity;
		if (!irq_has_action(irq) ||
		    cpumask_subset(affinity, cpu_online_mask)) {
@@ -327,16 +328,17 @@ void fixup_irqs(void)
			affinity = cpu_all_mask;
		}

		if (!(desc->status & IRQ_MOVE_PCNTXT) && data->chip->irq_mask)
			data->chip->irq_mask(data);
		chip = irq_data_get_irq_chip(data);
		if (!irqd_can_move_in_process_context(data) && chip->irq_mask)
			chip->irq_mask(data);

		if (data->chip->irq_set_affinity)
			data->chip->irq_set_affinity(data, affinity, true);
		if (chip->irq_set_affinity)
			chip->irq_set_affinity(data, affinity, true);
		else if (!(warned++))
			set_affinity = 0;

		if (!(desc->status & IRQ_MOVE_PCNTXT) && data->chip->irq_unmask)
			data->chip->irq_unmask(data);
		if (!irqd_can_move_in_process_context(data) && chip->irq_unmask)
			chip->irq_unmask(data);

		raw_spin_unlock(&desc->lock);

@@ -368,10 +370,11 @@ void fixup_irqs(void)
			irq = __this_cpu_read(vector_irq[vector]);

			desc = irq_to_desc(irq);
			data = &desc->irq_data;
			data = irq_desc_get_irq_data(desc);
			chip = irq_data_get_irq_chip(data);
			raw_spin_lock(&desc->lock);
			if (data->chip->irq_retrigger)
				data->chip->irq_retrigger(data);
			if (chip->irq_retrigger)
				chip->irq_retrigger(data);
			raw_spin_unlock(&desc->lock);
		}
	}