--- sun8i/kernel/irq/manage.c 2016-08-22 23:36:31.000000000 +0200 +++ sun8i-rt/kernel/irq/manage.c 2016-08-23 13:22:07.461081538 +0200 @@ -270,6 +270,9 @@ int irq_set_affinity_hint(unsigned int i return -EINVAL; desc->affinity_hint = m; irq_put_desc_unlock(desc, flags); + /* set the initial affinity to prevent every interrupt being on CPU0 */ + irq_set_affinity(irq, m); + return 0; } EXPORT_SYMBOL_GPL(irq_set_affinity_hint);