
From: Paul Mackerras <paulus@samba.org>

This patch fixes a bug where, if we try to set the affinity on an unused
virtual IRQ number on a logically-partitioned pSeries system, we call the
firmware with physical IRQ number = -1, which it doesn't like.  With this
patch we just ignore the attempt.

Signed-off-by: Paul Mackerras <paulus@samba.org>
Signed-off-by:  Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/ppc64/kernel/xics.c |    2 +-
 1 files changed, 1 insertion(+), 1 deletion(-)

diff -puN arch/ppc64/kernel/xics.c~ppc64-xics-irq-fix arch/ppc64/kernel/xics.c
--- 25/arch/ppc64/kernel/xics.c~ppc64-xics-irq-fix	Wed May 26 15:37:46 2004
+++ 25-akpm/arch/ppc64/kernel/xics.c	Wed May 26 15:37:46 2004
@@ -620,7 +620,7 @@ static void xics_set_affinity(unsigned i
 	cpumask_t tmp = CPU_MASK_NONE;
 
 	irq = virt_irq_to_real(irq_offset_down(virq));
-	if (irq == XICS_IPI)
+	if (irq == XICS_IPI || irq == NO_IRQ)
 		return;
 
 	status = rtas_call(ibm_get_xive, 1, 3, (void *)&xics_status, irq);
_
