Hi,
As part of my work getting an Ethernet bootloader going (in conjunction with: http://e2e.ti.com/support/dsp/c6000_multi-core_dsps/f/639/p/126829/541935.aspx#541935) I'm trying to get a stack shutdown going with a call to NC_NetStop.
I believe I've found a bug in the C6670 PDK 1.0.0.16 NIMU Eth transport driver source code nimu_eth.c.
On lines 228 and 247 of nimu_eth.c (in the EmacStop routine), the code attempts to free a buffers allocated earlier. It does:
Memory_free(0, (Ptr)*bufaddr, bufLen);
I believe the lines should be:
Memory_free(0, (Ptr)bufaddr, bufLen);
i.e. without the dereferencing of the pointer bufaddr. (Really, the code should also use Nimu_OsalFree rather than an explicit call to Memory Free).
Also, when the stack is run up again, I am getting errors relating to the Verify_Init routine, which relates to there being buffers on the gTxFreeQHnd queue 736 (found 31 entries), and queue 879 found 1 entry and queue 4095 found 2 entries. Presumably, there should be some QPOP tidy up code in the EmacStop routine for these Queues, but is missing?
Thanks,
Simon.