Skip to content

Instantly share code, notes, and snippets.

@Oberon00
Created December 5, 2014 14:42
Show Gist options
  • Select an option

  • Save Oberon00/a2c7d65edefebcb6a129 to your computer and use it in GitHub Desktop.

Select an option

Save Oberon00/a2c7d65edefebcb6a129 to your computer and use it in GitHub Desktop.
Failed Exynos "Music Bug" fix attempt.
--- a/arch/arm/kernel/irq.c
+++ b/arch/arm/kernel/irq.c
@@ -134,18 +134,15 @@ int __init arch_probe_nr_irqs(void)
static bool migrate_one_irq(struct irq_data *d)
{
unsigned int cpu = cpumask_any_and(d->affinity, cpu_online_mask);
- bool ret = false;
- if (cpu >= nr_cpu_ids) {
- cpu = cpumask_any(cpu_online_mask);
- ret = true;
- }
+ if (cpu >= nr_cpu_ids)
+ return true;
pr_debug("IRQ%u: moving from cpu%u to cpu%u\n", d->irq, d->node, cpu);
d->chip->irq_set_affinity(d, cpumask_of(cpu), true);
- return ret;
+ return false;
}
/*
@@ -178,7 +175,7 @@ void migrate_irqs(void)
raw_spin_unlock(&desc->lock);
if (affinity_broken && printk_ratelimit())
- pr_warning("IRQ%u no longer affine to CPU%u\n", i, cpu);
+ pr_warning("IRQ%u kept on offline CPU%u\n", i, cpu);
}
local_irq_restore(flags);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment