[ALSA] ASoC codec error reporting
[powerpc.git] / sound / soc / codecs / wm8750.c
index e7f04b8..d4a288b 100644 (file)
@@ -1075,8 +1075,8 @@ static int wm8750_init(struct snd_soc_device *socdev)
        /* register pcms */
        ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
        if (ret < 0) {
-               kfree(codec->reg_cache);
-               return ret;
+               printk(KERN_ERR "wm8750: failed to create pcms\n");
+               goto pcm_err;
        }
 
        /* charge output caps */
@@ -1106,10 +1106,16 @@ static int wm8750_init(struct snd_soc_device *socdev)
        wm8750_add_widgets(codec);
        ret = snd_soc_register_card(socdev);
        if (ret < 0) {
-               snd_soc_free_pcms(socdev);
-               snd_soc_dapm_free(socdev);
+               printk(KERN_ERR "wm8750: failed to register card\n");
+               goto card_err;
        }
+       return ret;
 
+card_err:
+       snd_soc_free_pcms(socdev);
+       snd_soc_dapm_free(socdev);
+pcm_err:
+       kfree(codec->reg_cache);
        return ret;
 }