Re: [PATCH v2 3/3] net: ethernet: add ag71xx driver

From: David Miller
Date: Fri Apr 19 2019 - 17:35:23 EST


From: Oleksij Rempel <o.rempel@xxxxxxxxxxxxxx>
Date: Thu, 18 Apr 2019 07:26:20 +0200

> +static int ag71xx_remove(struct platform_device *pdev)
> +{
> + struct net_device *ndev = platform_get_drvdata(pdev);
> + struct ag71xx *ag;
> +
> + if (!ndev)
> + return 0;
> +
> + ag = netdev_priv(ndev);
> + ag71xx_phy_disconnect(ag);
> + ag71xx_mdio_remove(ag);
> + unregister_netdev(ndev);
> + platform_set_drvdata(pdev, NULL);
> +
> + return 0;
> +}

You should unregister the netdev before you disconnect the PHY and remove
the MDIO.

Also you need to call free_netdev() afterwards otherwise you will leak it.