Messages in this thread Patch in this message |  | | Subject | [PATCH] thinko in APIC_LOCKUP_DEBUG can cause SMP hang (2.4.7+) | Date | Tue, 30 Oct 2001 19:39:46 -0600 | From | James Bottomley <> |
| |
This one looks like it would trip if the lockup debug code encounters a shared level interrupt which would cause it to loop forever.
James Bottomley
Index: arch/i386/kernel/io_apic.c =================================================================== RCS file: /home/jejb/CVSROOT/linux/2.4/arch/i386/kernel/io_apic.c,v retrieving revision 1.1.1.22 diff -u -r1.1.1.22 io_apic.c --- arch/i386/kernel/io_apic.c 2001/09/25 23:59:50 1.1.1.22 +++ arch/i386/kernel/io_apic.c 2001/10/31 01:34:49 @@ -1236,6 +1236,9 @@ ack_APIC_irq(); if (!(v & (1 << (i & 0x1f)))) { +#ifdef APIC_LOCKUP_DEBUG + struct irq_pin_list *entry = irq_2_pin + irq; +#endif #ifdef APIC_MISMATCH_DEBUG atomic_inc(&irq_mis_count); #endif @@ -1243,7 +1246,6 @@ __mask_and_edge_IO_APIC_irq(irq); #ifdef APIC_LOCKUP_DEBUG for (;;) { - struct irq_pin_list *entry = irq_2_pin + irq; unsigned int reg; if (entry->pin == -1) |  |