aboutsummaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/iosapic.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/ia64/kernel/iosapic.c')
-rw-r--r--arch/ia64/kernel/iosapic.c10
1 files changed, 4 insertions, 6 deletions
diff --git a/arch/ia64/kernel/iosapic.c b/arch/ia64/kernel/iosapic.c
index 920983545ad6..b0f9afebb146 100644
--- a/arch/ia64/kernel/iosapic.c
+++ b/arch/ia64/kernel/iosapic.c
@@ -398,7 +398,7 @@ iosapic_unmask_level_irq (struct irq_data *data)
398 int do_unmask_irq = 0; 398 int do_unmask_irq = 0;
399 399
400 irq_complete_move(irq); 400 irq_complete_move(irq);
401 if (unlikely(irq_desc[irq].status & IRQ_MOVE_PENDING)) { 401 if (unlikely(irqd_is_setaffinity_pending(data))) {
402 do_unmask_irq = 1; 402 do_unmask_irq = 1;
403 mask_irq(data); 403 mask_irq(data);
404 } else 404 } else
@@ -408,7 +408,7 @@ iosapic_unmask_level_irq (struct irq_data *data)
408 iosapic_eoi(rte->iosapic->addr, vec); 408 iosapic_eoi(rte->iosapic->addr, vec);
409 409
410 if (unlikely(do_unmask_irq)) { 410 if (unlikely(do_unmask_irq)) {
411 move_masked_irq(irq); 411 irq_move_masked_irq(data);
412 unmask_irq(data); 412 unmask_irq(data);
413 } 413 }
414} 414}
@@ -449,10 +449,8 @@ iosapic_startup_edge_irq (struct irq_data *data)
449static void 449static void
450iosapic_ack_edge_irq (struct irq_data *data) 450iosapic_ack_edge_irq (struct irq_data *data)
451{ 451{
452 unsigned int irq = data->irq; 452 irq_complete_move(data->irq);
453 453 irq_move_irq(data);
454 irq_complete_move(irq);
455 move_native_irq(irq);
456} 454}
457 455
458#define iosapic_enable_edge_irq unmask_irq 456#define iosapic_enable_edge_irq unmask_irq