diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 20:07:31 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-07 20:07:31 -0400 |
commit | faa38b5e0e092914764cdba9f83d31a3f794d182 (patch) | |
tree | b3e5921bdc36378033b4910eb4f29cb0dfc486e0 /sound/soc/codecs/wm8961.c | |
parent | 78417334b5cb6e1f915b8fdcc4fce3f1a1b4420c (diff) | |
parent | 74bf40f0793fed9e01eb6164c2ce63e8c27ca205 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6: (214 commits)
ALSA: hda - Add pin-fix for HP dc5750
ALSA: als4000: Fix potentially invalid DMA mode setup
ALSA: als4000: enable burst mode
ALSA: hda - Fix initial capsrc selection in patch_alc269()
ASoC: TWL4030: Capture route runtime DAPM ordering fix
ALSA: hda - Add PC-beep whitelist for an Intel board
ALSA: hda - More relax for pending period handling
ALSA: hda - Define AC_FMT_* constants
ALSA: hda - Fix beep frequency on IDT 92HD73xx and 92HD71Bxx codecs
ALSA: hda - Add support for HDMI HBR passthrough
ALSA: hda - Set Stream Type in Stream Format according to AES0
ALSA: hda - Fix Thinkpad X300 so SPDIF is not exposed
ALSA: hda - FIX to not expose SPDIF on Thinkpad X301, since it does not have the ability to use SPDIF
ASoC: wm9081: fix resource reclaim in wm9081_register error path
ASoC: wm8978: fix a memory leak if a wm8978_register fail
ASoC: wm8974: fix a memory leak if another WM8974 is registered
ASoC: wm8961: fix resource reclaim in wm8961_register error path
ASoC: wm8955: fix resource reclaim in wm8955_register error path
ASoC: wm8940: fix a memory leak if wm8940_register return error
ASoC: wm8904: fix resource reclaim in wm8904_register error path
...
Diffstat (limited to 'sound/soc/codecs/wm8961.c')
-rw-r--r-- | sound/soc/codecs/wm8961.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/sound/soc/codecs/wm8961.c b/sound/soc/codecs/wm8961.c index 5b9a756242f1..2549d3a297ab 100644 --- a/sound/soc/codecs/wm8961.c +++ b/sound/soc/codecs/wm8961.c | |||
@@ -1102,7 +1102,7 @@ static int wm8961_register(struct wm8961_priv *wm8961) | |||
1102 | ret = wm8961_reset(codec); | 1102 | ret = wm8961_reset(codec); |
1103 | if (ret < 0) { | 1103 | if (ret < 0) { |
1104 | dev_err(codec->dev, "Failed to issue reset\n"); | 1104 | dev_err(codec->dev, "Failed to issue reset\n"); |
1105 | return ret; | 1105 | goto err; |
1106 | } | 1106 | } |
1107 | 1107 | ||
1108 | /* Enable class W */ | 1108 | /* Enable class W */ |
@@ -1147,18 +1147,19 @@ static int wm8961_register(struct wm8961_priv *wm8961) | |||
1147 | ret = snd_soc_register_codec(codec); | 1147 | ret = snd_soc_register_codec(codec); |
1148 | if (ret != 0) { | 1148 | if (ret != 0) { |
1149 | dev_err(codec->dev, "Failed to register codec: %d\n", ret); | 1149 | dev_err(codec->dev, "Failed to register codec: %d\n", ret); |
1150 | return ret; | 1150 | goto err; |
1151 | } | 1151 | } |
1152 | 1152 | ||
1153 | ret = snd_soc_register_dai(&wm8961_dai); | 1153 | ret = snd_soc_register_dai(&wm8961_dai); |
1154 | if (ret != 0) { | 1154 | if (ret != 0) { |
1155 | dev_err(codec->dev, "Failed to register DAI: %d\n", ret); | 1155 | dev_err(codec->dev, "Failed to register DAI: %d\n", ret); |
1156 | snd_soc_unregister_codec(codec); | 1156 | goto err_codec; |
1157 | return ret; | ||
1158 | } | 1157 | } |
1159 | 1158 | ||
1160 | return 0; | 1159 | return 0; |
1161 | 1160 | ||
1161 | err_codec: | ||
1162 | snd_soc_unregister_codec(codec); | ||
1162 | err: | 1163 | err: |
1163 | kfree(wm8961); | 1164 | kfree(wm8961); |
1164 | return ret; | 1165 | return ret; |