SiS 645DX problems

Jeroen koffieyahoo at
Wed Feb 4 00:25:31 PST 2004

I experimented some more the last to evenings, and I must say it is starting
to feel more and more like some nasty race condition. Let me explain. First
the devices I experimented with by adding and removing them from my kernel

1. pccard, irq 3
2. firewire, irq 5
3. usb, irq 5/irq 10/irq 11

This is what happens (I booted each configuration multiple times, the
numbers are as above):

on = in kernel configuration
off = not in kernel configuration

1 on, 2 on, 3 on: hangs most of the times
1 on, 2 on, 3 off: hangs most of the times
all other combinations of "on" and "off" for 1, 2, and 3: boots perfectly

After (again) adding some printf's in some crucial places I now believe the
following is happening:

* spl0 is called while interrupts on 1, 5, and 10 are pending
* the interrupt routines are called in turn
* while in one of the interrupt routines an interrupt comes in on irq 3

Based on this order of events and the configurations as mentioned above I
would speculate that there is a race between the pccard interrupt routine
and the firewire interrupt routine...

Jeroen Ketema

More information about the Bugs mailing list