diff mbox

[-next] ALSA: bebob: Fix missing unlock on error in special_clk_ctl_put()

Message ID 1405831835-26499-1-git-send-email-weiyj_lk@163.com (mailing list archive)
State Accepted
Delegated to: Takashi Iwai
Headers show

Commit Message

weiyj_lk@163.com July 20, 2014, 4:50 a.m. UTC
From: Wei Yongjun <yongjun_wei@trendmicro.com.cn>

Add the missing unlock before return from function special_clk_ctl_put()
in the error handling case.

Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn>
---
 sound/firewire/bebob/bebob_maudio.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox

Patch

diff --git a/sound/firewire/bebob/bebob_maudio.c b/sound/firewire/bebob/bebob_maudio.c
index 6af50eb..6748515 100644
--- a/sound/firewire/bebob/bebob_maudio.c
+++ b/sound/firewire/bebob/bebob_maudio.c
@@ -382,8 +382,10 @@  static int special_clk_ctl_put(struct snd_kcontrol *kctl,
 	mutex_lock(&bebob->mutex);
 
 	id = uval->value.enumerated.item[0];
-	if (id >= ARRAY_SIZE(special_clk_labels))
+	if (id >= ARRAY_SIZE(special_clk_labels)) {
+		mutex_unlock(&bebob->mutex);
 		return 0;
+	}
 
 	err = avc_maudio_set_special_clk(bebob, id,
 					 params->dig_in_fmt,