Merge tag 'irq-urgent-2020-08-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Ingo Molnar: "Fix a recent IRQ affinities regression, add in a missing debugfs printout that helps the debugging of IRQ affinity logic bugs, and fix a memory leak" * tag 'irq-urgent-2020-08-02' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq/debugfs: Add missing irqchip flags genirq/affinity: Make affinity setting if activated opt-in irqdomain/treewide: Free firmware node after domain removal
This commit is contained in:
@@ -2335,8 +2335,13 @@ static int mp_irqdomain_create(int ioapic)
|
||||
|
||||
static void ioapic_destroy_irqdomain(int idx)
|
||||
{
|
||||
struct ioapic_domain_cfg *cfg = &ioapics[idx].irqdomain_cfg;
|
||||
struct fwnode_handle *fn = ioapics[idx].irqdomain->fwnode;
|
||||
|
||||
if (ioapics[idx].irqdomain) {
|
||||
irq_domain_remove(ioapics[idx].irqdomain);
|
||||
if (!cfg->dev)
|
||||
irq_domain_free_fwnode(fn);
|
||||
ioapics[idx].irqdomain = NULL;
|
||||
}
|
||||
}
|
||||
|
@@ -560,6 +560,10 @@ static int x86_vector_alloc_irqs(struct irq_domain *domain, unsigned int virq,
|
||||
* as that can corrupt the affinity move state.
|
||||
*/
|
||||
irqd_set_handle_enforce_irqctx(irqd);
|
||||
|
||||
/* Don't invoke affinity setter on deactivated interrupts */
|
||||
irqd_set_affinity_on_activate(irqd);
|
||||
|
||||
/*
|
||||
* Legacy vectors are already assigned when the IOAPIC
|
||||
* takes them over. They stay on the same vector. This is
|
||||
|
Reference in New Issue
Block a user