That's a problem of the Riva server. It doesn't (and can't)
install an interrupt handler. Unfortunately, it sometimes
generates interrupts. As long as there is no kernel driver
using this interrupt there's _no_ interrupt handler so the
kernel disables the line and everything works well.
If there is a handler (i.e. for the network card) the line is
enabled and the false irq from the RIVA card is delivered.
Because no handler resets the interrupt condition, it is
delivered on and on and the system is stuck.
Btw, an SMP system will only get very slow *g*
Conclusion: You have to use a single IRQ for the Riva.
Try to share interrupts between devices that have
appropriate interrupt handlers.
#ifdef FLAME
I bet, if there were public data sheets for the riva
the bug would have been slain long ago...
#endif
Ciao, ET.
PS: I had this problems about 1.5 years ago. IIRC, the second
version of the Riva server still had this problem. Don't know
if there are newer versions. Don't have a Riva any more ;)
-
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/