Thanks Jeff, Simon, Sylvain,
Please bear with me since I'm a little bit out of my comfort zone.
Sylvian first suggestion is to not called tcpip_input from the interrupt and provided a suggestion that is probably safer in the case of SYSBIOS having or not a different context between ISR and other threads. I would try to implement this change as it sounds it will be safer in either OS type. I did a little research and SYSBIOS (TI kernel) there is no distinction between hwi (isrs), swi, tasks, etc. Seems like it treats everything in the same context.I could be wrong.
Simon, thanks, I already made that change to the port. Instead of calling the "input function" directly I call "return netif->input(p, netif);".
On the other hand I think the port is not calling tcpip_input from the ISR context, I will still implement the change to eliminate some variables. This is how I start my code in SYSBIOS:
(these are what I think are the relevant pieces to the conversation)
- task = Task_create( (Task_FuncPtr) echo_thread, NULL, &eb);
- tcpip_init(echo_init, &init_sem);