Loading arch/metag/kernel/irq.c +6 −4 Original line number Diff line number Diff line Loading @@ -270,23 +270,25 @@ void migrate_irqs(void) for_each_active_irq(i) { struct irq_data *data = irq_get_irq_data(i); struct cpumask *mask; unsigned int newcpu; if (irqd_is_per_cpu(data)) continue; if (!cpumask_test_cpu(cpu, data->affinity)) mask = irq_data_get_affinity_mask(data); if (!cpumask_test_cpu(cpu, mask)) continue; newcpu = cpumask_any_and(data->affinity, cpu_online_mask); newcpu = cpumask_any_and(mask, cpu_online_mask); if (newcpu >= nr_cpu_ids) { pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n", i, cpu); cpumask_setall(data->affinity); cpumask_setall(mask); } irq_set_affinity(i, data->affinity); irq_set_affinity(i, mask); } } #endif /* CONFIG_HOTPLUG_CPU */ Loading
arch/metag/kernel/irq.c +6 −4 Original line number Diff line number Diff line Loading @@ -270,23 +270,25 @@ void migrate_irqs(void) for_each_active_irq(i) { struct irq_data *data = irq_get_irq_data(i); struct cpumask *mask; unsigned int newcpu; if (irqd_is_per_cpu(data)) continue; if (!cpumask_test_cpu(cpu, data->affinity)) mask = irq_data_get_affinity_mask(data); if (!cpumask_test_cpu(cpu, mask)) continue; newcpu = cpumask_any_and(data->affinity, cpu_online_mask); newcpu = cpumask_any_and(mask, cpu_online_mask); if (newcpu >= nr_cpu_ids) { pr_info_ratelimited("IRQ%u no longer affine to CPU%u\n", i, cpu); cpumask_setall(data->affinity); cpumask_setall(mask); } irq_set_affinity(i, data->affinity); irq_set_affinity(i, mask); } } #endif /* CONFIG_HOTPLUG_CPU */