From: Wolfgang Denk Date: Mon, 22 Sep 2008 20:23:06 +0000 (+0200) Subject: Fix DPRAM memory leak when CFG_ALLOC_DPRAM is defined, which X-Git-Tag: v2008.10-rc3~30^2~2 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=5fdc215f0b351b0c36cc3f8a0fa5850f24454bed;p=karo-tx-uboot.git Fix DPRAM memory leak when CFG_ALLOC_DPRAM is defined, which eventually leads to a machine check. This change assures that DPRAM is allocated only once in that case. Signed-off-by: Gary Jennejohn Signed-off-by: Wolfgang Denk --- diff --git a/cpu/mpc8xx/scc.c b/cpu/mpc8xx/scc.c index 09a3db107b..09a6348fd0 100644 --- a/cpu/mpc8xx/scc.c +++ b/cpu/mpc8xx/scc.c @@ -215,12 +215,14 @@ static int scc_init (struct eth_device *dev, bd_t * bis) rxIdx = 0; txIdx = 0; + if (!rtx) { #ifdef CFG_ALLOC_DPRAM - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + - dpram_alloc_align (sizeof (RTXBD), 8)); + rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + + dpram_alloc_align (sizeof (RTXBD), 8)); #else - rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_SCC_BASE); -#endif /* 0 */ + rtx = (RTXBD *) (immr->im_cpm.cp_dpmem + CPM_SCC_BASE); +#endif + } #if (defined(PA_ENET_RXD) && defined(PA_ENET_TXD)) /* Configure port A pins for Txd and Rxd.