]> git.hungrycats.org Git - linux/commitdiff
[PATCH] ppc64: fix nonexistent irq affinity
authorPaul Mackerras <paulus@samba.org>
Wed, 26 May 2004 02:03:18 +0000 (19:03 -0700)
committerLinus Torvalds <torvalds@ppc970.osdl.org>
Wed, 26 May 2004 02:03:18 +0000 (19:03 -0700)
This 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: Linus Torvalds <torvalds@osdl.org>
arch/ppc64/kernel/xics.c

index 6797a8aaaaa152f94c669f2411a1efb6bd733790..1d9cf20a29007258cd4af5ad82b16bf329317179 100644 (file)
@@ -620,7 +620,7 @@ static void xics_set_affinity(unsigned int virq, cpumask_t cpumask)
        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);