diff options
author | Nathan Fontenot <nfont@austin.ibm.com> | 2008-02-07 07:37:26 +1100 |
---|---|---|
committer | Paul Mackerras <paulus@samba.org> | 2008-02-07 11:40:19 +1100 |
commit | a52572ddcd3d16cc5ccc9679bcbb7256d0ddad84 (patch) | |
tree | c19abad35b95d8e270367857e8abb705b8b1da08 | |
parent | 25431333813686654907ab987fb5de10c10a16db (diff) | |
download | op-kernel-dev-a52572ddcd3d16cc5ccc9679bcbb7256d0ddad84.zip op-kernel-dev-a52572ddcd3d16cc5ccc9679bcbb7256d0ddad84.tar.gz |
[POWERPC] Update irq descriptor affinity
The affinity mask in the virq descriptor needs to be set before we
reset the affinity for the virq. Without doing this the call to get
the new irq server fails and we end up leaving the virq pinned to the
cpu we are removing.
This does not fail the cpu remove from the kernel, but it does prevent
cpu dlpar remove operations from returning the cpu to the hypervisor.
Signed-off-by: Nathan Fontenot <nfont@austin.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
-rw-r--r-- | arch/powerpc/platforms/pseries/xics.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/powerpc/platforms/pseries/xics.c b/arch/powerpc/platforms/pseries/xics.c index 8f8dd9c..00e9d29 100644 --- a/arch/powerpc/platforms/pseries/xics.c +++ b/arch/powerpc/platforms/pseries/xics.c @@ -880,8 +880,8 @@ void xics_migrate_irqs_away(void) virq, cpu); /* Reset affinity to all cpus */ + irq_desc[virq].affinity = CPU_MASK_ALL; desc->chip->set_affinity(virq, CPU_MASK_ALL); - irq_desc[irq].affinity = CPU_MASK_ALL; unlock: spin_unlock_irqrestore(&desc->lock, flags); } |