However, you are wrong about the TX buffers being on the heap. The
buffer is inside the at91_eth_priv_t structure. This is allocated at
the end of if_at91.c. It will be placed in the data segment.

at91_eth_priv structure is contains only RX buffers, RX buffer descriptors and "TX buffer descriptors". No contains "TX buffers".

at91_eth_send() shows " priv->tbd[priv->curr_tbd_idx].addr = sg_list[i].buf; " - no memory copy, only address assigment.
But, sg_list[] it is mbuf, dynamically allocated in TCP/IP stack.

Present at91_eth driver is don't use static TX buffers.

Ivan.

--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

Reply via email to