In the smsc911x Ethernet chip driver, I'm changing the FIFO write and read to DMA write and read.
By the way, this driver uses loopback test during initialization using a simple test packet.
I registered the DMA controller irq using request_irq(irq, handler, flags, name, dev) which calls request_threaded_irq(irq, handler, NULL, flags, name, dev).
The process goes into sleep using wait_event_interruptible() after DMA command and I've seen the ISR handler is called by the DMA completion, and during the ISR, wake_up_interruptible() is called to wake up the process.
But when the program runs I get this error message below during the first interrupt processing.
"IRQ 2 device ald_dmac returned IRQ_WAKE_THREAD but no thread function available"
I don't know why ald_dmac returned IRQ_WAKE_THREAD (because my interrupt handler only returns IRQ_HANDLED), and I have a feeling that in this case (processing going to sleep and woken up by the ISR), I should use some other method
to register my interrupt.
Can anybody give me some advice?
Thanks a lot in advance.
Chan Kim
_______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies