On Sat, 3 Jun 2017, Christoph Hellwig wrote: > +static void irq_affinity_online_irq(unsigned int irq, struct irq_desc *desc, > + unsigned int cpu) > +{ > + > + cpumask_and(mask, affinity, cpu_online_mask); > + cpumask_set_cpu(cpu, mask); > + if (irqd_has_set(data, IRQD_AFFINITY_SUSPENDED)) { > + irq_startup(desc, false); > + irqd_clear(data, IRQD_AFFINITY_SUSPENDED); > + } else { > + irq_affinity_set(irq, desc, mask); I don't think this should be forced. In that case we really can use the regular mechanism. Thanks, tglx