[U-Boot-Users] Possible memory leak in cpu/ppc4xx/4xx_enet.c
Dave Littell
littelld at verizon.net
Sat Mar 15 16:12:45 CET 2008
Stefan Roese wrote:
> Dave,
>
> On Saturday 15 March 2008, Dave Littell wrote:
>> 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.
>
> Hmmm. IIRC ppc_4xx_eth_initialize() is only called once upon bootup for
> ethernet driver initialization. The function called each time before network
> action is ppc_4xx_eth_init().
>
It looks like ppc_4xx_eth_initialize() is called from eth_init() and
ppc_4xx_eth_init() is only called if there's an emac0_dev.
Hm?
>> 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.
>
> So did it work for you?
>
It seems to be working well.
Thanks,
Dave
More information about the U-Boot
mailing list