ARM: CPU hotplug: ensure we migrate all IRQs off a downed CPU
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 21 Jul 2011 14:14:21 +0000 (15:14 +0100)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 21 Jul 2011 14:14:21 +0000 (15:14 +0100)
Our selection of interrupts to consider for IRQ migration is sub-
standard.  We were potentially including per-CPU interrupts in our
migration strategy, but omitting chained interrupts.  This caused
some interrupts to remain on a downed CPU.

We were also trying to migrate interrupts which were not migratable,
resulting in an OOPS.

Instead, iterate over all interrupts, skipping per-CPU interrupts
or interrupts whose affinity does not include the downed CPU, and
attempt to set the affinity for every one else if their chip
implements irq_set_affinity().

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>

No differences found