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
[email protected]
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

Reply via email to