From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754385AbcK3Jih (ORCPT ); Wed, 30 Nov 2016 04:38:37 -0500 Received: from smtp5-g21.free.fr ([212.27.42.5]:12511 "EHLO smtp5-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753639AbcK3JhG (ORCPT ); Wed, 30 Nov 2016 04:37:06 -0500 Subject: Re: [PATCH net 04/16] net: ethernet: aurora: nb8800: fix fixed-link phydev leaks To: Johan Hovold , Mans Rullgard , Sebastian Frias References: <1480357509-28074-1-git-send-email-johan@kernel.org> <1480357509-28074-5-git-send-email-johan@kernel.org> Cc: netdev , LKML , "David S. Miller" , Joe Perches , Brian Norris From: Mason Message-ID: <583E9DAD.8090205@free.fr> Date: Wed, 30 Nov 2016 10:36:45 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:43.0) Gecko/20100101 Firefox/43.0 SeaMonkey/2.40 MIME-Version: 1.0 In-Reply-To: <1480357509-28074-5-git-send-email-johan@kernel.org> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 28/11/2016 19:24, Johan Hovold wrote: > Make sure to deregister and free any fixed-link PHY registered using > of_phy_register_fixed_link() on probe errors and on driver unbind. > > Fixes: c7dfe3abf40e ("net: ethernet: nb8800: support fixed-link DT node") > Signed-off-by: Johan Hovold > --- > drivers/net/ethernet/aurora/nb8800.c | 9 +++++++-- > 1 file changed, 7 insertions(+), 2 deletions(-) Did you use scripts/get_maintainer.pl ? Neither the author of the driver (Mans) nor the author of the code in question (Sebastian) were CCed on this patch. It looks like the CC list was truncated, the last entry being Vivien Didelot < Regards. > diff --git a/drivers/net/ethernet/aurora/nb8800.c b/drivers/net/ethernet/aurora/nb8800.c > index 00c38bf151e6..e078d8da978c 100644 > --- a/drivers/net/ethernet/aurora/nb8800.c > +++ b/drivers/net/ethernet/aurora/nb8800.c > @@ -1466,12 +1466,12 @@ static int nb8800_probe(struct platform_device *pdev) > > ret = nb8800_hw_init(dev); > if (ret) > - goto err_free_bus; > + goto err_deregister_fixed_link; > > if (ops && ops->init) { > ret = ops->init(dev); > if (ret) > - goto err_free_bus; > + goto err_deregister_fixed_link; > } > > dev->netdev_ops = &nb8800_netdev_ops; > @@ -1504,6 +1504,9 @@ static int nb8800_probe(struct platform_device *pdev) > > err_free_dma: > nb8800_dma_free(dev); > +err_deregister_fixed_link: > + if (of_phy_is_fixed_link(pdev->dev.of_node)) > + of_phy_deregister_fixed_link(pdev->dev.of_node); > err_free_bus: > of_node_put(priv->phy_node); > mdiobus_unregister(bus); > @@ -1521,6 +1524,8 @@ static int nb8800_remove(struct platform_device *pdev) > struct nb8800_priv *priv = netdev_priv(ndev); > > unregister_netdev(ndev); > + if (of_phy_is_fixed_link(pdev->dev.of_node)) > + of_phy_deregister_fixed_link(pdev->dev.of_node); > of_node_put(priv->phy_node); > > mdiobus_unregister(priv->mii_bus);