zynq_gem_remove() never frees priv->tx_bd (the buffer descriptor space) or priv->rxbuffers, both allocated in zynq_gem_probe(), so each remove/probe cycle leaks them. Free them.
Signed-off-by: Graeme Smecher <[email protected]> --- drivers/net/zynq_gem.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/zynq_gem.c b/drivers/net/zynq_gem.c index 0224b4ba245267d0514b80b6947f8010c3e5f09e..ddc83de1c1beab31d52a17f2d41f608fd92ed8e0 100644 --- a/drivers/net/zynq_gem.c +++ b/drivers/net/zynq_gem.c @@ -1074,6 +1074,8 @@ static int zynq_gem_remove(struct udevice *dev) mdio_unregister(priv->bus); mdio_free(priv->bus); } + free(priv->tx_bd); + free(priv->rxbuffers); return 0; } -- 2.47.3
