[U-Boot] [PATCH] sh_eth.c: EDMAC descriptor leak

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 */

Dear Yoshinori Sato,
In message 87vcxbp69w.wl%ysato@users.sourceforge.jp you wrote:
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
Can you please resubmit this with your Signed-off-by: line added? Please see http://www.denx.de/wiki/U-Boot/Patches for additional help how to create and submit patches.
Thanks.
Best regards,
Wolfgang Denk
participants (2)
-
Wolfgang Denk
-
Yoshinori Sato