ia64: iosapic: Remove redundant mask from ack()
authorThomas Gleixner <tglx@linutronix.de>
Fri, 25 Mar 2011 19:25:06 +0000 (20:25 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 29 Mar 2011 12:48:03 +0000 (14:48 +0200)
The core code calls mask_ack() which calls irq_ack() and irq_mask()
for the case where an interrupt is disabled and marked pending. That
seems to be a leftover from the old __do_IRQ() mode.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/ia64/kernel/iosapic.c

index 858a995f3d3be6a9f904fa2df21df13ce046ccb5..920983545ad63cfa6945f6090b5903694012a5c3 100644 (file)
@@ -450,18 +450,9 @@ static void
 iosapic_ack_edge_irq (struct irq_data *data)
 {
        unsigned int irq = data->irq;
-       struct irq_desc *idesc = irq_desc + irq;
 
        irq_complete_move(irq);
        move_native_irq(irq);
-       /*
-        * Once we have recorded IRQ_PENDING already, we can mask the
-        * interrupt for real. This prevents IRQ storms from unhandled
-        * devices.
-        */
-       if ((idesc->status & (IRQ_PENDING|IRQ_DISABLED)) ==
-           (IRQ_PENDING|IRQ_DISABLED))
-               mask_irq(data);
 }
 
 #define iosapic_enable_edge_irq                unmask_irq