|
@@ -240,6 +240,7 @@ static int __init at91sam9g20ek_init(void)
|
|
if (!at91sam9g20ek_snd_device) {
|
|
if (!at91sam9g20ek_snd_device) {
|
|
printk(KERN_ERR "ASoC: Platform device allocation failed\n");
|
|
printk(KERN_ERR "ASoC: Platform device allocation failed\n");
|
|
ret = -ENOMEM;
|
|
ret = -ENOMEM;
|
|
|
|
+ goto err_mclk;
|
|
}
|
|
}
|
|
|
|
|
|
platform_set_drvdata(at91sam9g20ek_snd_device,
|
|
platform_set_drvdata(at91sam9g20ek_snd_device,
|
|
@@ -248,11 +249,13 @@ static int __init at91sam9g20ek_init(void)
|
|
ret = platform_device_add(at91sam9g20ek_snd_device);
|
|
ret = platform_device_add(at91sam9g20ek_snd_device);
|
|
if (ret) {
|
|
if (ret) {
|
|
printk(KERN_ERR "ASoC: Platform device allocation failed\n");
|
|
printk(KERN_ERR "ASoC: Platform device allocation failed\n");
|
|
- platform_device_put(at91sam9g20ek_snd_device);
|
|
|
|
|
|
+ goto err_device_add;
|
|
}
|
|
}
|
|
|
|
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
|
|
+err_device_add:
|
|
|
|
+ platform_device_put(at91sam9g20ek_snd_device);
|
|
err_mclk:
|
|
err_mclk:
|
|
clk_put(mclk);
|
|
clk_put(mclk);
|
|
mclk = NULL;
|
|
mclk = NULL;
|