diff mbox series

[-next] net: ftgmac100: add missing error return code in ftgmac100_probe()

Message ID 20210522120246.1125535-1-yangyingliang@huawei.com
State New
Headers show
Series [-next] net: ftgmac100: add missing error return code in ftgmac100_probe() | expand

Commit Message

Yang Yingliang May 22, 2021, 12:02 p.m. UTC
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: bd466c3fb5a4 ("net/faraday: Support NCSI mode")
Fixes: 39bfab8844a0 ("net: ftgmac100: Add support for DT phy-handle property")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 drivers/net/ethernet/faraday/ftgmac100.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

patchwork-bot+netdevbpf@kernel.org May 24, 2021, 12:30 a.m. UTC | #1
Hello:

This patch was applied to netdev/net-next.git (refs/heads/master):

On Sat, 22 May 2021 20:02:46 +0800 you wrote:
> 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: bd466c3fb5a4 ("net/faraday: Support NCSI mode")

> Fixes: 39bfab8844a0 ("net: ftgmac100: Add support for DT phy-handle property")

> Reported-by: Hulk Robot <hulkci@huawei.com>

> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>

> 

> [...]


Here is the summary with links:
  - [-next] net: ftgmac100: add missing error return code in ftgmac100_probe()
    https://git.kernel.org/netdev/net-next/c/52af13a41489

You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html
diff mbox series

Patch

diff --git a/drivers/net/ethernet/faraday/ftgmac100.c b/drivers/net/ethernet/faraday/ftgmac100.c
index 04421aec2dfd..11dbbfd38770 100644
--- a/drivers/net/ethernet/faraday/ftgmac100.c
+++ b/drivers/net/ethernet/faraday/ftgmac100.c
@@ -1830,14 +1830,17 @@  static int ftgmac100_probe(struct platform_device *pdev)
 	if (np && of_get_property(np, "use-ncsi", NULL)) {
 		if (!IS_ENABLED(CONFIG_NET_NCSI)) {
 			dev_err(&pdev->dev, "NCSI stack not enabled\n");
+			err = -EINVAL;
 			goto err_phy_connect;
 		}
 
 		dev_info(&pdev->dev, "Using NCSI interface\n");
 		priv->use_ncsi = true;
 		priv->ndev = ncsi_register_dev(netdev, ftgmac100_ncsi_handler);
-		if (!priv->ndev)
+		if (!priv->ndev) {
+			err = -EINVAL;
 			goto err_phy_connect;
+		}
 	} else if (np && of_get_property(np, "phy-handle", NULL)) {
 		struct phy_device *phy;
 
@@ -1856,6 +1859,7 @@  static int ftgmac100_probe(struct platform_device *pdev)
 					     &ftgmac100_adjust_link);
 		if (!phy) {
 			dev_err(&pdev->dev, "Failed to connect to phy\n");
+			err = -EINVAL;
 			goto err_phy_connect;
 		}