From: Axel Lin Date: Fri, 30 Dec 2011 15:36:23 +0000 (+0800) Subject: ASoC: Fix return value of wm8580_set_sysclk() X-Git-Tag: v3.3-rc1~14^2~14 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=748b217827974d34a7341142599f0db631a3e45a;p=profile%2Fcommon%2Fkernel-common.git ASoC: Fix return value of wm8580_set_sysclk() We can't just pass back the return value of snd_soc_update_bits() as it will be 1 if a bit changed rather than zero. Signed-off-by: Axel Lin Signed-off-by: Mark Brown --- diff --git a/sound/soc/codecs/wm8580.c b/sound/soc/codecs/wm8580.c index b1c8d3d..2112851 100644 --- a/sound/soc/codecs/wm8580.c +++ b/sound/soc/codecs/wm8580.c @@ -670,7 +670,7 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id, { struct snd_soc_codec *codec = dai->codec; struct wm8580_priv *wm8580 = snd_soc_codec_get_drvdata(codec); - int sel, sel_mask, sel_shift; + int ret, sel, sel_mask, sel_shift; switch (dai->driver->id) { case WM8580_DAI_PAIFRX: @@ -711,7 +711,11 @@ static int wm8580_set_sysclk(struct snd_soc_dai *dai, int clk_id, /* We really should validate PLL settings but not yet */ wm8580->sysclk[dai->driver->id] = freq; - return snd_soc_update_bits(codec, WM8580_CLKSEL, sel_mask, sel); + ret = snd_soc_update_bits(codec, WM8580_CLKSEL, sel_mask, sel); + if (ret < 0) + return ret; + + return 0; } static int wm8580_digital_mute(struct snd_soc_dai *codec_dai, int mute)