[PATCH] ASoC: bells: Use common error handling code in bells_set_bias_level_post()

From: SF Markus Elfring
Date: Sun Nov 19 2017 - 09:09:47 EST


From: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
Date: Sun, 19 Nov 2017 15:00:22 +0100

* Add a jump target so that a specific error message is stored only once
at the end of this function implementation.

* Replace two calls of the macro "pr_err" by goto statements.

This issue was detected by using the Coccinelle software.

Signed-off-by: Markus Elfring <elfring@xxxxxxxxxxxxxxxxxxxxx>
---
sound/soc/samsung/bells.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/sound/soc/samsung/bells.c b/sound/soc/samsung/bells.c
index 34deba461ae1..fc9a71523b3e 100644
--- a/sound/soc/samsung/bells.c
+++ b/sound/soc/samsung/bells.c
@@ -120,18 +120,14 @@ static int bells_set_bias_level_post(struct snd_soc_card *card,
switch (level) {
case SND_SOC_BIAS_STANDBY:
ret = snd_soc_codec_set_pll(codec, WM5102_FLL1, 0, 0, 0);
- if (ret < 0) {
- pr_err("Failed to stop FLL: %d\n", ret);
- return ret;
- }
+ if (ret < 0)
+ goto report_failure;

if (bells->asyncclk_rate) {
ret = snd_soc_codec_set_pll(codec, WM5102_FLL2,
0, 0, 0);
- if (ret < 0) {
- pr_err("Failed to stop FLL: %d\n", ret);
- return ret;
- }
+ if (ret < 0)
+ goto report_failure;
}
break;

@@ -142,6 +138,10 @@ static int bells_set_bias_level_post(struct snd_soc_card *card,
dapm->bias_level = level;

return 0;
+
+report_failure:
+ pr_err("Failed to stop FLL: %d\n", ret);
+ return ret;
}

static int bells_late_probe(struct snd_soc_card *card)
--
2.15.0