提交 d856c16d 编写于 作者: C Chen-Yu Tsai 提交者: David S. Miller

stmmac: dwmac-sunxi: Call exit cleanup function in probe error path

dwmac-sunxi has 2 callbacks that were called from stmmac_platform as
part of the probe and remove sequences.

Ater the conversion of dwmac-sunxi into a standalone platform driver,
the .init function is called before calling into the stmmac driver
core, but .exit is not called to clean up if stmmac returns an error.

This patch fixes the probe error path. This properly cleans up and
releases resources when the driver core fails to probe.

Cc: Joachim Eastwood <manabian@gmail.com>
Fixes: 9a9e9a1e ("stmmac: dwmac-sunxi: turn setup callback into a
		      probe function")
Signed-off-by: NChen-Yu Tsai <wens@csie.org>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 79462ad0
...@@ -153,7 +153,11 @@ static int sun7i_gmac_probe(struct platform_device *pdev) ...@@ -153,7 +153,11 @@ static int sun7i_gmac_probe(struct platform_device *pdev)
if (ret) if (ret)
return ret; return ret;
return stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res); ret = stmmac_dvr_probe(&pdev->dev, plat_dat, &stmmac_res);
if (ret)
sun7i_gmac_exit(pdev, plat_dat->bsp_priv);
return ret;
} }
static const struct of_device_id sun7i_dwmac_match[] = { static const struct of_device_id sun7i_dwmac_match[] = {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册