[PATCH] x86_64/i386 irq: Fix !CONFIG_SMP compilation
When removing set_native_irq I missed the fact that it was called in a couple of places that were compiled even when SMP support is disabled. And since the irq_desc[].affinity field only exists in SMP things broke. Thanks to Simon Arlott <simon@arlott.org> for spotting this. There are a couple of ways to fix this but the simplest one is to just remove the assignments. The affinity field is only used to display a value to the user, and nothing on either i386 or x86_64 reads it or depends on it being any particlua value, so skipping the assignment is safe. The assignment that is being removed is just for the initial affinity value before the user explicitly sets it. The irq_desc array initializes this field to CPU_MASK_ALL so the field is initialized to a reasonable value in the SMP case without being set. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
606135a308
Коммит
2ff7354fe8
|
@ -1354,7 +1354,6 @@ static void __init setup_IO_APIC_irqs(void)
|
|||
}
|
||||
spin_lock_irqsave(&ioapic_lock, flags);
|
||||
__ioapic_write_entry(apic, pin, entry);
|
||||
irq_desc[irq].affinity = TARGET_CPUS;
|
||||
spin_unlock_irqrestore(&ioapic_lock, flags);
|
||||
}
|
||||
}
|
||||
|
@ -2875,7 +2874,6 @@ int io_apic_set_pci_routing (int ioapic, int pin, int irq, int edge_level, int a
|
|||
|
||||
spin_lock_irqsave(&ioapic_lock, flags);
|
||||
__ioapic_write_entry(ioapic, pin, entry);
|
||||
irq_desc[irq].affinity = TARGET_CPUS;
|
||||
spin_unlock_irqrestore(&ioapic_lock, flags);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -830,10 +830,6 @@ static void setup_IO_APIC_irq(int apic, int pin, unsigned int irq,
|
|||
disable_8259A_irq(irq);
|
||||
|
||||
ioapic_write_entry(apic, pin, entry);
|
||||
|
||||
spin_lock_irqsave(&ioapic_lock, flags);
|
||||
irq_desc[irq].affinity = TARGET_CPUS;
|
||||
spin_unlock_irqrestore(&ioapic_lock, flags);
|
||||
}
|
||||
|
||||
static void __init setup_IO_APIC_irqs(void)
|
||||
|
|
Загрузка…
Ссылка в новой задаче