Further research on lockup

OK, I have determined the cause of my lockup; hopefully this will provide 
enough information to make finding the problem possible.

There seems to be some sort of PCI-configuration related problem.  My
system is a Biostar M7VIP (KT333)  with Duron 1.3, NI PCI-6503 (using
ni_pcidio driver) and a Radeon 9000.  Essentially what happens is that at
some point lspci shows that the card's I/O space is set to [disabled] and
[virtual] and once this happens nothing can revive it.

It turns out the problem is some sort of interaction between the Radeon
XFree86 driver and Comedi.  But I do not know who is at fault.  In text
mode, I can use Comedi indefinitely without problems.  But when I run X,
it is only a matter of time before the NI board becomes confused.  This
will happen even if the Comedi modules have never even been loaded.  Once
this happens, nothing I do can make it work, except rebooting.  I have
tried re-running comedi_configure, removing and reloading the comedi
modules, and exiting from (or restarting) X-windows.  This does not happen
if I use the SVGA driver; it happens only with the actual Radeon driver.  
But the SVGA driver is no long term solution :)

When everything is working properly, lspci -v looks like this (all 
readings taken with -H1 option):

00:0b.0 Class ff00: National Instruments: Unknown device 17d0
        Flags: bus master, medium devsel, latency 32, IRQ 10
        Memory at ea400000 (32-bit, non-prefetchable) [size=4K]
        Memory at ea401000 (32-bit, non-prefetchable) [size=4K]

But after using X-Windows for a time, the NI board becomes confused.  At 
this point it stops working and cannot be restored to work again without 
rebooting.  lspci -v shows this:

00:0b.0 Class ffff: National Instruments: Unknown device 17d0 (rev ff)
(prog-if ff)
        !!! Unknown header type 7f

After a while it recovers somewhat (note that the I/O memory is 
"disabled"):

00:0b.0 Class ff00: National Instruments: Unknown device 17d0
        Flags: medium devsel, IRQ 10
        [virtual] Memory at ea400000 (32-bit, non-prefetchable) [disabled] [size=4K]
        [virtual] Memory at ea401000 (32-bit, non-prefetchable) [disabled] [size=4K]

I can re-run comedi_configure aand that will un-disable the memory.  But 
still it does not work.  Note that the [virtual] tag did not go away.  In 
this state lspci -v looks like this:

00:0b.0 Class ff00: National Instruments: Unknown device 17d0
        Flags: bus master, medium devsel, latency 64, IRQ 10
        [virtual] Memory at ea400000 (32-bit, non-prefetchable) [size=4K]
        [virtual] Memory at ea401000 (32-bit, non-prefetchable) [size=4K]

Received on 2003-07-12Z09:50:43