Commit 52af13a4 authored by Yang Yingliang's avatar Yang Yingliang Committed by David S. Miller

net: ftgmac100: add missing error return code in ftgmac100_probe()

The variables will be free on path err_phy_connect, it should
return error code, or it will cause double free when calling
ftgmac100_remove().

Fixes: bd466c3f ("net/faraday: Support NCSI mode")
Fixes: 39bfab88 ("net: ftgmac100: Add support for DT phy-handle property")
Reported-by: default avatarHulk Robot <hulkci@huawei.com>
Signed-off-by: default avatarYang Yingliang <yangyingliang@huawei.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent f5120f59
...@@ -1830,14 +1830,17 @@ static int ftgmac100_probe(struct platform_device *pdev) ...@@ -1830,14 +1830,17 @@ static int ftgmac100_probe(struct platform_device *pdev)
if (np && of_get_property(np, "use-ncsi", NULL)) { if (np && of_get_property(np, "use-ncsi", NULL)) {
if (!IS_ENABLED(CONFIG_NET_NCSI)) { if (!IS_ENABLED(CONFIG_NET_NCSI)) {
dev_err(&pdev->dev, "NCSI stack not enabled\n"); dev_err(&pdev->dev, "NCSI stack not enabled\n");
err = -EINVAL;
goto err_phy_connect; goto err_phy_connect;
} }
dev_info(&pdev->dev, "Using NCSI interface\n"); dev_info(&pdev->dev, "Using NCSI interface\n");
priv->use_ncsi = true; priv->use_ncsi = true;
priv->ndev = ncsi_register_dev(netdev, ftgmac100_ncsi_handler); priv->ndev = ncsi_register_dev(netdev, ftgmac100_ncsi_handler);
if (!priv->ndev) if (!priv->ndev) {
err = -EINVAL;
goto err_phy_connect; goto err_phy_connect;
}
} else if (np && of_get_property(np, "phy-handle", NULL)) { } else if (np && of_get_property(np, "phy-handle", NULL)) {
struct phy_device *phy; struct phy_device *phy;
...@@ -1856,6 +1859,7 @@ static int ftgmac100_probe(struct platform_device *pdev) ...@@ -1856,6 +1859,7 @@ static int ftgmac100_probe(struct platform_device *pdev)
&ftgmac100_adjust_link); &ftgmac100_adjust_link);
if (!phy) { if (!phy) {
dev_err(&pdev->dev, "Failed to connect to phy\n"); dev_err(&pdev->dev, "Failed to connect to phy\n");
err = -EINVAL;
goto err_phy_connect; goto err_phy_connect;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment