[En-Nut-Discussion] Preview Fix 060626

Michael Jones Michael.e.Jones at web.de
Tue Jun 27 13:00:09 CEST 2006


Hi Harald,

Check: THREAD(NicRxLanc, arg): somewhere near line 1241

	.
	.
	.

    for (;;) {

        /*
         * Wait for the arrival of new packets or
         * check the receiver every two second.
         */
 		NutEventWait(&ni->ni_rx_rdy, 2000);


Actually, the SMSC runs error free without the timeout when using Henrik's
and my patches (tests have been running for a few days now).

Yet, it does not do so since the preview changes. 

Therefore, as far as I am concerned the driver is not the problem.

Cu,
Michael



-----Original Message-----
From: en-nut-discussion-bounces at egnite.de
[mailto:en-nut-discussion-bounces at egnite.de] On Behalf Of Harald Kipp
Sent: Tuesday, June 27, 2006 12:57 PM
To: Ethernut User Chat (English)
Subject: RE: [En-Nut-Discussion] Preview Fix 060626

Michael,

At 12:40 27.06.2006 +0200, you wrote:

>The SMSC indeed overruns now. As there is no NutEventPostFromIrq(...) in
the
>interrupt handler for INT_RX_OVRN the event stalls and only the next event
>timeout reactivates the Interrupts. I've added a NutEventPortFromIrq into
>the INT_RX_OVRN handler and it now runs much steadier.
>
>We will have to find a way to make the context switch fast again.

In my opinion the problem is in the SMSC driver. It should
be able to run without timeout value, but it doesn't.

Furthermore I noticed, that the interrupt routine posts to
ni_tx_rdy, but I can't find any wait on that queque.

Harald

_______________________________________________
En-Nut-Discussion mailing list
En-Nut-Discussion at egnite.de
http://www.egnite.de/mailman/listinfo.cgi/en-nut-discussion





More information about the En-Nut-Discussion mailing list