From: Vaibhav Agarwal Date: Thu, 4 Aug 2016 09:44:28 +0000 (+0530) Subject: greybus: audio: Remove un-necessary goto statement X-Git-Tag: v4.9-rc1~119^2~378^2~21^2~73 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=90579d4b577154606a54cab9771e15a41867b79b;p=karo-tx-linux.git greybus: audio: Remove un-necessary goto statement For most of the helper functions, goto statement is widely used. It was originally used with an intent of single exit point for the function with some cleanup required. This is no more the case. So, simplify code by avoiding un-necessary gotos. Signed-off-by: Vaibhav Agarwal Reviewed-by: Mark Greer Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/staging/greybus/audio_codec.c b/drivers/staging/greybus/audio_codec.c index d7679e6bc364..9b98e9c282da 100644 --- a/drivers/staging/greybus/audio_codec.c +++ b/drivers/staging/greybus/audio_codec.c @@ -64,7 +64,8 @@ static int gbaudio_module_disable(struct gbaudio_codec_info *codec, if (module_state == GBAUDIO_CODEC_SHUTDOWN) { dev_dbg(codec->dev, "%s: module already configured\n", module->name); - goto func_exit; + mutex_unlock(&codec->lock); + return 0; } /* find the dai */ @@ -72,8 +73,8 @@ static int gbaudio_module_disable(struct gbaudio_codec_info *codec, if (!data) { dev_err(codec->dev, "%s:%s DATA connection missing\n", dai_name, module->name); - ret = -ENODEV; - goto func_exit; + mutex_unlock(&codec->lock); + return -ENODEV; } if (codec_state > GBAUDIO_CODEC_HWPARAMS) { data_cport = data->connection->intf_cport_id; @@ -162,7 +163,8 @@ static int gbaudio_module_enable(struct gbaudio_codec_info *codec, if (module_state == codec_state) { dev_dbg(codec->dev, "%s: module already configured\n", module->name); - goto func_exit; + mutex_unlock(&codec->lock); + return 0; } /* find the dai */ @@ -170,8 +172,8 @@ static int gbaudio_module_enable(struct gbaudio_codec_info *codec, if (!data) { dev_err(codec->dev, "%s:%s DATA connection missing\n", dai_name, module->name); - ret = -ENODEV; - goto func_exit; + mutex_unlock(&codec->lock); + return -ENODEV; } /* register cport */ @@ -754,8 +756,8 @@ static int gbcodec_mute_stream(struct snd_soc_dai *dai, int mute, int stream) if (!data) { dev_err(dai->dev, "%s:%s DATA connection missing\n", dai->name, module->name); - ret = -ENODEV; - goto func_exit; + mutex_unlock(&codec->lock); + return -ENODEV; } if (!mute && !stream) {/* start playback */ @@ -792,9 +794,8 @@ static int gbcodec_mute_stream(struct snd_soc_dai *dai, int mute, int stream) module->name, mute ? "Mute" : "Unmute", stream ? "Capture" : "Playback", ret); -func_exit: mutex_unlock(&codec->lock); - return 0; + return ret; } static struct snd_soc_dai_ops gbcodec_dai_ops = {