On Thu, Oct 07, 2004 at 08:01:47AM -0400, Richard B. Johnson wrote:Also, when this driver is running, transferring large volumes
of data, the kernel decides that there have been too many interrupts, and
does:
Message from syslogd@chaos at Wed Oct 6 21:22:57 2004 ...
chaos kernel: Disabling IRQ #18
This, in spite of the fact that interrupts occur only when
DMA completion happens and new data are available, i.e.,
one interrupt every 16 megabytes of data transferred.
Who decided that it had a right to disable my interrupt????
the kernel did because you don't return the proper value for "I handled the
IRQ" from your ISR.
Also I don't see where you call cleanup_module(), the function that does the
deregistration of the chardev... where do you call that ????