> Looking at the trace, I can see the cpu wasn't actually doing 
> anything when it crashed. Well, an interrupt occured, and that 
> apparently is fatal on my machine. Now I wonder why.

It's easy to explain the crash:

> >>EIP: ffffffff <END_OF_CODE+37649e23/??? 
> Trace: c01127ae <timer_bh+2be/404> 

Someone called add_timer with either an invalid or corrupted timer_list
pointer, and this caused an oops in kernel/sched.c, around line 1153

        spin_unlock_irq(&timerlist_lock);
        fn(data); <<<<<<<<<<<<<<<
        spin_lock_irq(&timerlist_lock);

But please don't ask me which driver did that ;-(

> eax: 0000000f ebx: c7e471c0 ecx: 00000000 edx: 00000001 
> esi: c885b9bc edi: c022c3a4 ebp: c0247f4c esp: c0247f18 

Could someone with a Redhat 2.2.16-3 kernel check how gcc compiled the
function call?
My kernel uses 
        call *%esi

_If_ 2.2.16-3 uses the same instruction, then c885b9bc might point into
the buggy driver.

--
        Manfred
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/

Reply via email to