[ALSA] ASoC codec error reporting

This patch improves the codec probe() error reporting by printing error
messages when the card or pcms fail to register.

Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Jaroslav Kysela <perex@suse.cz>
diff --git a/sound/soc/codecs/wm8731.c b/sound/soc/codecs/wm8731.c
index 8151b45..9956d65 100644
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -696,8 +696,8 @@
 	/* 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 "wm8731: failed to create pcms\n");
+		goto pcm_err;
 	}
 
 	/* power on device */
@@ -717,11 +717,18 @@
 	wm8731_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 "wm8731: 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;
 }
 
 static struct snd_soc_device *wm8731_socdev;