diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c
index d6ba2d6..d502833 100644
--- a/arch/x86/kernel/apic/msi.c
+++ b/arch/x86/kernel/apic/msi.c
@@ -61,7 +61,7 @@ static int msi_compose_msg(struct pci_dev *pdev, unsigned int irq,
 		return -ENXIO;
 
 	cfg = irq_cfg(irq);
-	err = assign_irq_vector(irq, cfg, apic->target_cpus());
+	err = assign_irq_vector(irq, cfg, cfg->domain);
 	if (err)
 		return err;
 
diff --git a/arch/x86/kernel/apic/vector.c b/arch/x86/kernel/apic/vector.c
index 6cedd79..0e3bcb1 100644
--- a/arch/x86/kernel/apic/vector.c
+++ b/arch/x86/kernel/apic/vector.c
@@ -335,8 +335,6 @@ int apic_retrigger_irq(struct irq_data *data)
 
 void apic_ack_edge(struct irq_data *data)
 {
-	irq_complete_move(irqd_cfg(data));
-	irq_move_irq(data);
 	ack_APIC_irq();
 }
 
@@ -496,7 +494,7 @@ int arch_setup_hwirq(unsigned int irq, int node)
 		return -ENOMEM;
 
 	raw_spin_lock_irqsave(&vector_lock, flags);
-	ret = __assign_irq_vector(irq, cfg, apic->target_cpus());
+	ret = __assign_irq_vector(irq, cfg, cpumask_of_node(node));
 	raw_spin_unlock_irqrestore(&vector_lock, flags);
 
 	if (!ret)
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 705ef8d..1340c1c 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -200,6 +200,8 @@ __visible unsigned int __irq_entry do_IRQ(struct pt_regs *regs)
 	if (!handle_irq(irq, regs)) {
 		ack_APIC_irq();
 
+pr_err("%s: %d.%d No irq handler for vector (irq %d)\n", __func__, smp_processor_id(), vector, irq);
+
 		if (irq != VECTOR_RETRIGGERED) {
 			pr_emerg_ratelimited("%s: %d.%d No irq handler for vector (irq %d)\n",
 					     __func__, smp_processor_id(),
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
index cfd1b13..0c4dd4c 100644
--- a/arch/x86/pci/acpi.c
+++ b/arch/x86/pci/acpi.c
@@ -496,9 +496,6 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
 				node);
 	}
 
-	if (node != NUMA_NO_NODE && !node_online(node))
-		node = NUMA_NO_NODE;
-
 	info = kzalloc_node(sizeof(*info), GFP_KERNEL, node);
 	if (!info) {
 		printk(KERN_WARNING "pci_bus %04x:%02x: "
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 8069237..1c4201e 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -349,7 +349,7 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask)
 		if (cpumask_intersects(mask, nodemask))
 			cpumask_and(mask, mask, nodemask);
 	}
-	irq_do_set_affinity(&desc->irq_data, mask, false);
+	irq_do_set_affinity(&desc->irq_data, cpumask_of_node(node), false);
 	return 0;
 }
 #else
