<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<div id="ezFormProc_div" style="FONT-SIZE: 10pt; FONT-FAMILY: 굴림">
<div id="msgbody">
<div>
<div style="LINE-HEIGHT: 15pt"><br>
In the smsc911x Ethernet chip driver, I'm changing the FIFO write and read to DMA write and read.</div>
<div style="LINE-HEIGHT: 15pt">By the way, this driver uses loopback test during initialization using a simple test packet.</div>
<div style="LINE-HEIGHT: 15pt">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).
</div>
<div style="LINE-HEIGHT: 15pt"> </div>
<div style="LINE-HEIGHT: 15pt">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.</div>
<div style="LINE-HEIGHT: 15pt"> </div>
<div style="LINE-HEIGHT: 15pt">
<div style="LINE-HEIGHT: 15pt">But when the program runs I get this error message below during the first interrupt processing.
</div>
<div style="LINE-HEIGHT: 15pt">"IRQ 2 device ald_dmac returned IRQ_WAKE_THREAD but no thread function available"</div>
</div>
<div style="LINE-HEIGHT: 15pt">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.</div>
<div style="LINE-HEIGHT: 15pt">Can anybody give me some advice?</div>
<div style="LINE-HEIGHT: 15pt"> </div>
<div style="LINE-HEIGHT: 15pt">Thanks a lot in advance.</div>
<div style="LINE-HEIGHT: 15pt">Chan Kim</div>
<div style="LINE-HEIGHT: 15pt"> </div>
<div id="MailSignSent" style="LINE-HEIGHT: 15pt"></div>
<div style="LINE-HEIGHT: 15pt"><br>
</div>
</div>
</div>
</div>
</body>
</html>