Message ID | 1595237794-11530-1-git-send-email-zhangchangzhong@huawei.com |
---|---|
State | Accepted |
Delegated to: | David Miller |
Headers | show |
Series | [net] net: bcmgenet: add missed clk_disable_unprepare in bcmgenet_probe | expand |
On 7/20/2020 2:36 AM, Zhang Changzhong wrote: > The driver forgets to call clk_disable_unprepare() in error path after > a success calling for clk_prepare_enable(). > > Fix to goto err_clk_disable if clk_prepare_enable() is successful. > > Fixes: c80d36ff63a5 ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks") > Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> > --- > drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c > index 368e05b..79d27be 100644 > --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c > +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c > @@ -4000,14 +4000,14 @@ static int bcmgenet_probe(struct platform_device *pdev) > if (IS_ERR(priv->clk_wol)) { > dev_dbg(&priv->pdev->dev, "failed to get enet-wol clock\n"); > err = PTR_ERR(priv->clk_wol); > - goto err; > + goto err_clk_disable; > } > > priv->clk_eee = devm_clk_get_optional(&priv->pdev->dev, "enet-eee"); > if (IS_ERR(priv->clk_eee)) { > dev_dbg(&priv->pdev->dev, "failed to get enet-eee clock\n"); > err = PTR_ERR(priv->clk_eee); > - goto err; > + goto err_clk_disable; > } > > /* If this is an internal GPHY, power it on now, before UniMAC is > Acked-by: Doug Berger <opendmb@gmail.com> Thanks!
On 7/20/20 2:36 AM, Zhang Changzhong wrote: > The driver forgets to call clk_disable_unprepare() in error path after > a success calling for clk_prepare_enable(). > > Fix to goto err_clk_disable if clk_prepare_enable() is successful. > > Fixes: c80d36ff63a5 ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks") > Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> Acked-by: Florian Fainelli <f.fainelli@gmail.com>
From: Zhang Changzhong <zhangchangzhong@huawei.com> Date: Mon, 20 Jul 2020 17:36:34 +0800 > The driver forgets to call clk_disable_unprepare() in error path after > a success calling for clk_prepare_enable(). > > Fix to goto err_clk_disable if clk_prepare_enable() is successful. > > Fixes: c80d36ff63a5 ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks") > Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> Applied.
diff --git a/drivers/net/ethernet/broadcom/genet/bcmgenet.c b/drivers/net/ethernet/broadcom/genet/bcmgenet.c index 368e05b..79d27be 100644 --- a/drivers/net/ethernet/broadcom/genet/bcmgenet.c +++ b/drivers/net/ethernet/broadcom/genet/bcmgenet.c @@ -4000,14 +4000,14 @@ static int bcmgenet_probe(struct platform_device *pdev) if (IS_ERR(priv->clk_wol)) { dev_dbg(&priv->pdev->dev, "failed to get enet-wol clock\n"); err = PTR_ERR(priv->clk_wol); - goto err; + goto err_clk_disable; } priv->clk_eee = devm_clk_get_optional(&priv->pdev->dev, "enet-eee"); if (IS_ERR(priv->clk_eee)) { dev_dbg(&priv->pdev->dev, "failed to get enet-eee clock\n"); err = PTR_ERR(priv->clk_eee); - goto err; + goto err_clk_disable; } /* If this is an internal GPHY, power it on now, before UniMAC is
The driver forgets to call clk_disable_unprepare() in error path after a success calling for clk_prepare_enable(). Fix to goto err_clk_disable if clk_prepare_enable() is successful. Fixes: c80d36ff63a5 ("net: bcmgenet: Use devm_clk_get_optional() to get the clocks") Signed-off-by: Zhang Changzhong <zhangchangzhong@huawei.com> --- drivers/net/ethernet/broadcom/genet/bcmgenet.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)