[POWERPC] Fix setting of irq trigger type in UIC driver
authorDavid Gibson <david@gibson.dropbear.id.au>
Tue, 14 Aug 2007 03:52:42 +0000 (13:52 +1000)
committerPaul Mackerras <paulus@samba.org>
Fri, 17 Aug 2007 01:02:05 +0000 (11:02 +1000)
The UIC (interrupt controller in 4xx embedded CPUs) driver currently
missets the IRQ_lEVEL flag in desc->status, due to a thinko.  This
patch fixes the bug.

Currently this is only a cosmetic problem (affects the output in
/proc/interrupts), however subsequent patches will use the IRQ_LEVEL
flag to affect flow handling.

Signed-off-by: Valentine Barshak <vbarshak@ru.mvista.com>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Acked-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
arch/powerpc/sysdev/uic.c

index 89059895a20d0ef8f8866759eae18855f43030d4..ef8eb5bc6bba277269f3df8c82ac335b6d7559c3 100644 (file)
@@ -142,7 +142,7 @@ static int uic_set_irq_type(unsigned int virq, unsigned int flow_type)
 
        desc->status &= ~(IRQ_TYPE_SENSE_MASK | IRQ_LEVEL);
        desc->status |= flow_type & IRQ_TYPE_SENSE_MASK;
-       if (trigger)
+       if (!trigger)
                desc->status |= IRQ_LEVEL;
 
        spin_unlock_irqrestore(&uic->lock, flags);