15 Jul
2010
15 Jul
'10
5:08 a.m.
wm8978 is allocated in wm8978_i2c_probe() but is not freed if wm8978_register() return -EINVAL (if another WM8978 is registered).
Signed-off-by: Axel Lin axel.lin@gmail.com --- sound/soc/codecs/wm8978.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)
diff --git a/sound/soc/codecs/wm8978.c b/sound/soc/codecs/wm8978.c index 51d5f43..4e80323 100644 --- a/sound/soc/codecs/wm8978.c +++ b/sound/soc/codecs/wm8978.c @@ -1007,7 +1007,8 @@ static __devinit int wm8978_register(struct wm8978_priv *wm8978)
if (wm8978_codec) { dev_err(codec->dev, "Another WM8978 is registered\n"); - return -EINVAL; + ret = -EINVAL; + goto err; }
/*
--
1.5.4.3