
Dear Stefan,
in message 200809260955.59674.sr@denx.de you wrote:
Am I reading this correctly that we eth_halt() and eth_init() the network interface for each and every call to NetLoop?
Yes, it looks that way. Ripe for gutting.
I didn't have much time to look into the code, so I'm just speculating
- maybe this is needed for switching interfaces in case of errors?
Some ethernet interfaces (e.g. ppc4xx) need to get stopped after the network transaction. Otherwise the interface will continue to DMA data to the buffers and this could break OS booting. So please don't remove the eth_halt() after the transaction is finished.
Agreed, *after* performing the task, i. e. before the network related command returns to the shell, the network interface should be shut down. But not right in the middle, in each netloop.
Also, please be aware that we're discussing this in the context of netconsole, where it actually happens for each and every character transmitted :-(
Best regards,
Wolfgang Denk