ia64: iosapic: Remove redundant mask from ack()
PATCH 16/23 ia64: iosapic: Remove redundant mask from ack()
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.
--- arch/ia64/kernel/iosapic.c | 9 --------- 1 file changed, 9 deletions(-)
Index: linux-2.6-tip/arch/ia64/kernel/iosapic.c =================================--- linux-2.6-tip.orig/arch/ia64/kernel/iosapic.c +++ linux-2.6-tip/arch/ia64/kernel/iosapic.c
@@ -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