Re: Probable module bug in linux-2.6.5-1.358

From: Richard B. Johnson
Date: Thu Oct 07 2004 - 07:46:54 EST


On Thu, 7 Oct 2004, Arjan van de Ven wrote:

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.

Do you know what that value is? I can't find it. I just returned 0
and it worked for awhile.


Also I don't see where you call cleanup_module(), the function that does the
deregistration of the chardev... where do you call that ????


The kernel calls cleanup_module() and the printk() shows that it
was truly called.


Cheers,
Dick Johnson
Penguin : Linux version 2.6.5-1.358-noreg on an i686 machine (5537.79 BogoMips).
Note 96.31% of all statistics are fiction.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/