diff options
| -rw-r--r-- | drivers/mmc/host/sdhci-of-at91.c | 9 | 
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/mmc/host/sdhci-of-at91.c b/drivers/mmc/host/sdhci-of-at91.c index b2a8c45c9c23..ab2bd314a390 100644 --- a/drivers/mmc/host/sdhci-of-at91.c +++ b/drivers/mmc/host/sdhci-of-at91.c @@ -345,20 +345,23 @@ static int sdhci_at91_probe(struct platform_device *pdev)  			priv->mainck = NULL;  		} else {  			dev_err(&pdev->dev, "failed to get baseclk\n"); -			return PTR_ERR(priv->mainck); +			ret = PTR_ERR(priv->mainck); +			goto sdhci_pltfm_free;  		}  	}  	priv->hclock = devm_clk_get(&pdev->dev, "hclock");  	if (IS_ERR(priv->hclock)) {  		dev_err(&pdev->dev, "failed to get hclock\n"); -		return PTR_ERR(priv->hclock); +		ret = PTR_ERR(priv->hclock); +		goto sdhci_pltfm_free;  	}  	priv->gck = devm_clk_get(&pdev->dev, "multclk");  	if (IS_ERR(priv->gck)) {  		dev_err(&pdev->dev, "failed to get multclk\n"); -		return PTR_ERR(priv->gck); +		ret = PTR_ERR(priv->gck); +		goto sdhci_pltfm_free;  	}  	ret = sdhci_at91_set_clks_presets(&pdev->dev);  | 
