[PATCH] net: dwc_eth_qos: fix double resource leak in eqos_remove()

Not only does eqos_remove() fail to free the buffers that have been allocated by eqos_probe_resources_core(), it repeats those allocations and thus drops twice as much memory on the floor.
Signed-off-by: Rasmus Villemoes rasmus.villemoes@prevas.dk --- drivers/net/dwc_eth_qos.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 9d255cf95f..82ee2d9706 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -1884,7 +1884,7 @@ static int eqos_remove(struct udevice *dev) eqos->config->ops->eqos_stop_clks(dev); eqos->config->ops->eqos_remove_resources(dev);
- eqos_probe_resources_core(dev); + eqos_remove_resources_core(dev);
debug("%s: OK\n", __func__); return 0;

On Wed, May 11, 2022 at 5:13 PM Rasmus Villemoes rasmus.villemoes@prevas.dk wrote:
Not only does eqos_remove() fail to free the buffers that have been allocated by eqos_probe_resources_core(), it repeats those allocations and thus drops twice as much memory on the floor.
Signed-off-by: Rasmus Villemoes rasmus.villemoes@prevas.dk
drivers/net/dwc_eth_qos.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/net/dwc_eth_qos.c b/drivers/net/dwc_eth_qos.c index 9d255cf95f..82ee2d9706 100644 --- a/drivers/net/dwc_eth_qos.c +++ b/drivers/net/dwc_eth_qos.c @@ -1884,7 +1884,7 @@ static int eqos_remove(struct udevice *dev) eqos->config->ops->eqos_stop_clks(dev); eqos->config->ops->eqos_remove_resources(dev);
eqos_probe_resources_core(dev);
eqos_remove_resources_core(dev); debug("%s: OK\n", __func__); return 0;
-- 2.31.1
Reviewed-by: Ramon Fried rfried.dev@gmail.com

On 16/05/2022 02.26, Ramon Fried wrote:
On Wed, May 11, 2022 at 5:13 PM Rasmus Villemoes rasmus.villemoes@prevas.dk wrote:
Not only does eqos_remove() fail to free the buffers that have been allocated by eqos_probe_resources_core(), it repeats those allocations and thus drops twice as much memory on the floor.
Reviewed-by: Ramon Fried rfried.dev@gmail.com
ping on this as well.

On Wed, May 11, 2022 at 04:12:50PM +0200, Rasmus Villemoes wrote:
Not only does eqos_remove() fail to free the buffers that have been allocated by eqos_probe_resources_core(), it repeats those allocations and thus drops twice as much memory on the floor.
Signed-off-by: Rasmus Villemoes rasmus.villemoes@prevas.dk Reviewed-by: Ramon Fried rfried.dev@gmail.com
Applied to u-boot/master, thanks!
participants (3)
-
Ramon Fried
-
Rasmus Villemoes
-
Tom Rini