
15 Mar
2008
15 Mar
'08
3:44 a.m.
Hi all,
I've seen an issue with my 1.3.1-based port of U-Boot where a relatively large number of pings issued from the command line will ultimately fail with the message:
Cannot allocate private hw data for eth_device...
I looked around this message and it seems that ppc_4xx_eth_initialize() malloc()’s a EMAC_4XX_HW_PST structure and assigns it to dev->priv. However, nothing ever frees this buffer so standing on a ping will ultimately pull down all the available memory.
One fix might be to free( dev->priv ) at the end of ppc_4xx_eth_halt(). I tried this today and noted no ill effects.
Thanks, Dave