Messages in this thread Patch in this message | | | Subject | 2.2.12 Kernel Oops in parport_pc with plip and alsa | From | Greg Stark <> | Date | 03 Nov 1999 03:29:05 -0500 |
| |
I've been grappling with a 2.2.12 kernel oops that looks like this:
>>EIP: 25242322 Before first symbol Trace: d00540ff <parport_pc_release_resources+13/40> Trace: c011178f <update_process_times+5b/64> Trace: c0110892 <wake_up_process+3a/44> Trace: c010abfd <handle_IRQ_event+35/60> Trace: c010a94e <do_8259A_IRQ+6e/90> Trace: c010ad10 <do_IRQ+24/40> Trace: c010a988 <common_interrupt+18/20> Trace: c0108549 <cpu_idle+59/68>
The only device using the parallel port is plip. Plip works great normally though (well it's slow but seems to be working properly) the oops only happens when I play sounds in Alsa. But there doesn't appear to be an IRQ conflict or I/O port conflict according to /proc/*.
I was wondering about this excerpt from 2.2.13, it doesn't seem to be described in Alan Cox's pre13 announcements, nor can I find any mention of a bug this would fix anywhere in the mail archives. Is it relevant to my problem perhaps? Does anyone have a reference to where this patch came from and what purpose it serves?
-- v2.2.12/linux/arch/i386/kernel/irq.c Mon Aug 9 16:05:54 1999 +++ linux/arch/i386/kernel/irq.c Tue Oct 19 17:14:00 1999 @@ -449,6 +449,7 @@ atomic_t global_bh_count; atomic_t global_bh_lock; +spinlock_t i386_bh_lock = SPIN_LOCK_UNLOCKED; /* * "global_cli()" is a special case, in that it can hold the @@ -726,10 +727,11 @@ status = 1; /* Force the "do bottom halves" bit */ - if (!(action->flags & SA_INTERRUPT)) - __sti(); - do { + if (!(action->flags & SA_INTERRUPT)) + __sti(); + else + __cli(); status |= action->flags; action->handler(irq, action->dev_id, regs); action = action->next;
-- greg
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |