It looks like being a lucky "side-effect" of
commit 90ad9e2d91067983f3328e21b306323877e5f48a Author: Thomas Gleixner <email address hidden> Date: Wed Sep 13 23:29:49 2017 +0200
x86/io_apic: Reevaluate vector configuration on activate()
This changes factors out the code that accesses the chip data, but at the same time limits this to only do this for the ioapic chip:
static void ioapic_configure_entry(struct irq_data *irqd) +{ + struct mp_chip_data *mpd = irqd->chip_data; + struct irq_cfg *cfg = irqd_cfg(irqd); + struct irq_pin_list *entry; + + /* + * Only update when the parent is the vector domain, don't touch it + * if the parent is the remapping domain. Check the installed + * ioapic chip to verify that. + */ + if (irqd->chip == &ioapic_chip) { + mpd->entry.dest = cfg->dest_apicid; + mpd->entry.vector = cfg->vector; + } ...
It looks like being a lucky "side-effect" of
commit 90ad9e2d9106798 3f3328e21b30632 3877e5f48a
Author: Thomas Gleixner <email address hidden>
Date: Wed Sep 13 23:29:49 2017 +0200
x86/io_apic: Reevaluate vector configuration on activate()
This changes factors out the code that accesses the chip data, but at the same time limits this to only do this for the ioapic chip:
static void ioapic_ configure_ entry(struct irq_data *irqd)
+{
+ struct mp_chip_data *mpd = irqd->chip_data;
+ struct irq_cfg *cfg = irqd_cfg(irqd);
+ struct irq_pin_list *entry;
+
+ /*
+ * Only update when the parent is the vector domain, don't touch it
+ * if the parent is the remapping domain. Check the installed
+ * ioapic chip to verify that.
+ */
+ if (irqd->chip == &ioapic_chip) {
+ mpd->entry.dest = cfg->dest_apicid;
+ mpd->entry.vector = cfg->vector;
+ }
...