diff options
Diffstat (limited to 'drivers/net/ethernet/marvell/mv643xx_eth.c')
| -rw-r--r-- | drivers/net/ethernet/marvell/mv643xx_eth.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/ethernet/marvell/mv643xx_eth.c b/drivers/net/ethernet/marvell/mv643xx_eth.c index 2f427271a793..292a668ce88e 100644 --- a/drivers/net/ethernet/marvell/mv643xx_eth.c +++ b/drivers/net/ethernet/marvell/mv643xx_eth.c | |||
| @@ -2879,7 +2879,7 @@ static int mv643xx_eth_shared_probe(struct platform_device *pdev) | |||
| 2879 | 2879 | ||
| 2880 | ret = mv643xx_eth_shared_of_probe(pdev); | 2880 | ret = mv643xx_eth_shared_of_probe(pdev); |
| 2881 | if (ret) | 2881 | if (ret) |
| 2882 | return ret; | 2882 | goto err_put_clk; |
| 2883 | pd = dev_get_platdata(&pdev->dev); | 2883 | pd = dev_get_platdata(&pdev->dev); |
| 2884 | 2884 | ||
| 2885 | msp->tx_csum_limit = (pd != NULL && pd->tx_csum_limit) ? | 2885 | msp->tx_csum_limit = (pd != NULL && pd->tx_csum_limit) ? |
| @@ -2887,6 +2887,11 @@ static int mv643xx_eth_shared_probe(struct platform_device *pdev) | |||
| 2887 | infer_hw_params(msp); | 2887 | infer_hw_params(msp); |
| 2888 | 2888 | ||
| 2889 | return 0; | 2889 | return 0; |
| 2890 | |||
| 2891 | err_put_clk: | ||
| 2892 | if (!IS_ERR(msp->clk)) | ||
| 2893 | clk_disable_unprepare(msp->clk); | ||
| 2894 | return ret; | ||
| 2890 | } | 2895 | } |
| 2891 | 2896 | ||
| 2892 | static int mv643xx_eth_shared_remove(struct platform_device *pdev) | 2897 | static int mv643xx_eth_shared_remove(struct platform_device *pdev) |
