Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 169945
b: refs/heads/master
c: ca64c47
h: refs/heads/master
i:
  169943: b6ac9b2
v: v3
  • Loading branch information
Maciej W. Rozycki authored and Ingo Molnar committed Dec 2, 2009
1 parent 76dd210 commit 3a8d475
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 15 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 918bc960dc630b1a79c0d2991a81985812ff69f5
refs/heads/master: ca64c47cecd0321b2e0dcbd7aaff44b68ce20654
28 changes: 14 additions & 14 deletions trunk/arch/x86/kernel/apic/io_apic.c
Original file line number Diff line number Diff line change
Expand Up @@ -2583,6 +2583,20 @@ static void ack_apic_level(unsigned int irq)
*/
ack_APIC_irq();

/* Tail end of version 0x11 I/O APIC bug workaround */
if (!(v & (1 << (i & 0x1f)))) {
atomic_inc(&irq_mis_count);

if (use_eoi_reg)
eoi_ioapic_irq(desc);
else {
spin_lock(&ioapic_lock);
__mask_and_edge_IO_APIC_irq(cfg);
__unmask_and_level_IO_APIC_irq(cfg);
spin_unlock(&ioapic_lock);
}
}

/* Now we can move and renable the irq */
if (unlikely(do_unmask_irq)) {
/* Only migrate the irq if the ack has been received.
Expand Down Expand Up @@ -2616,20 +2630,6 @@ static void ack_apic_level(unsigned int irq)
move_masked_irq(irq);
unmask_IO_APIC_irq_desc(desc);
}

/* Tail end of version 0x11 I/O APIC bug workaround */
if (!(v & (1 << (i & 0x1f)))) {
atomic_inc(&irq_mis_count);

if (use_eoi_reg)
eoi_ioapic_irq(desc);
else {
spin_lock(&ioapic_lock);
__mask_and_edge_IO_APIC_irq(cfg);
__unmask_and_level_IO_APIC_irq(cfg);
spin_unlock(&ioapic_lock);
}
}
}

#ifdef CONFIG_INTR_REMAP
Expand Down

0 comments on commit 3a8d475

Please sign in to comment.