Possible lockup?

I am using the 0.7.66 Comedi and 0.7.19 comedilib with a National
Instruments PCI-6503, which uses the ni_pcidio driver.  I am experiencing
lockups with one of my Comedi applications; but the other one works fine.

The lockup, when it occurs, is a hard freeze.  The board locks up hard
when it occurs.  All control lines (there are 24, a single 8255 chip) are
reset to inputs, and will not respond to any commands without rebooting
the computer.  Even reloading all comedi modules does not solve this
problem.  It is readily reproducible in my app, but I haven't yet
determined the exact sequence of Comedi commands that causes it
(multithreaded, after all).

My system is a Biostar M7VIP motherboard (KT333), AMD Duron 1.3GHz, 
Slackware 9.0 with 2.4.21 kernel.

My questions are the following:

1) The application that locks up is fairly seriously multithreaded, but
the application that does not lock up is not.  Could this have anything to
do with it?  I am sure it is not a simple matter of deadlock in my 
software because even killing my app and reloading the modules does not 
fix the problem.  But it's possible that something I am doing is causing 
some sort of thread-related problem with the card.  Does anyone have any 
tips?
2) When removing the comedi modules, I get "trying to free free IRQ <x>" 
in syslog where <x> is the current IRQ of the PC-6503 card.
3) I am using the precompiled Slackware kernel, with configuration 
determined by "make oldconfig."  Is there any chance this could cause the 
problem?  I recently upgraded to 2.4.21 but used the same procedure with 
2.4.19 and 2.4.20.
4) Is it possible that BIOS configuration might impact this?  I have tried 
using pci=bios, pci=conf1, pci=biosirq in various combinations, with and 
without the card sharing its IRQ, and have had no success.  I don't know 
if Comedi even uses the IRQ - with only 8255 mode 0 supported I suspect it 
does not use it.
5) Could I use setpci or something to reset the card?  All this rebooting 
is making my reset button sore <g>  More seriously, is there any useful 
debugging information I could generate this way?  I do not know enough 
about PCI to make much use of this command.

Received on 2003-07-10Z06:29:47