|
From: | address@hidden |
Subject: | Re: [lwip-users] illegal RTOS API call from ethernet receive interrupt |
Date: | Thu, 19 Nov 2015 20:14:19 +0100 |
User-agent: | Mozilla/5.0 (Windows NT 6.1; WOW64; rv:31.0) Gecko/20100101 Thunderbird/31.7.0 |
Michael Steinecke wrote:
Your Stack Trace Locks like your Ethernet Driver or ethernetif.c is not well implemented. Usually you should pass the received packet from the IRQ context to a task, which calls LWIP.
Well, if you really know what you're doing you *could* use lwIP from ISR context, too. In that case, define mutexes to nothing and be sure to use lwIP only from the ETH ISR context.
However, users not aware of multithreading issues often make the mistake to call input functions from ETH ISR and call transmit functions from main loop or thread context. If you do it like that: this won't work and you should follow Miachel's suggestions.
Simon
[Prev in Thread] | Current Thread | [Next in Thread] |