From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yoshinori Sato Date: Mon, 16 May 2011 14:24:11 +0900 Subject: [U-Boot] [PATCH] sh_eth.c: EDMAC descriptor leak Message-ID: <87vcxbp69w.wl%ysato@users.sourceforge.jp> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hi, I found memory leak in sh_eth.c. sh_eth_desc_init call for many times in network problem. And it every time allocate new descriptor. So leak old descriptor. I will fix this patch. diff --git a/drivers/net/sh_eth.c b/drivers/net/sh_eth.c index 17dd0d2..f805785 100644 --- a/drivers/net/sh_eth.c +++ b/drivers/net/sh_eth.c @@ -313,6 +313,9 @@ static int sh_eth_tx_desc_init(struct sh_eth_dev *eth) struct sh_eth_info *port_info = ð->port_info[port]; struct tx_desc_s *cur_tx_desc; + if (port_info->tx_desc_malloc) + /* Already allocated. re-using it */ + return 0; /* * Allocate tx descriptors. They must be TX_DESC_SIZE bytes aligned */ @@ -365,6 +368,9 @@ static int sh_eth_rx_desc_init(struct sh_eth_dev *eth) u32 tmp_addr; u8 *rx_buf; + if (port_info->rx_desc_malloc) + /* Already allocated. re-using it */ + return 0; /* * Allocate rx descriptors. They must be RX_DESC_SIZE bytes aligned */ -- Yoshinori Sato