Merge tag 'asm-generic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[firefly-linux-kernel-4.4.55.git] / kernel / irq / manage.c
index 80692373abd6e809b973c4be5fcad24ef52edfd7..196a06fbc122fed81333c3bfd7205cfcef9aa73f 100644 (file)
@@ -243,6 +243,9 @@ int irq_set_affinity_hint(unsigned int irq, const struct cpumask *m)
                return -EINVAL;
        desc->affinity_hint = m;
        irq_put_desc_unlock(desc, flags);
+       /* set the initial affinity to prevent every interrupt being on CPU0 */
+       if (m)
+               __irq_set_affinity(irq, m, false);
        return 0;
 }
 EXPORT_SYMBOL_GPL(irq_set_affinity_hint);