At Tue, 22 Jul 2014 23:11:03 +0900, Takashi Sakamoto wrote:
In error handling case, special_clk_ctl_put() returns without unlock_mutex(), therefore the mutex is still locked. This commit moves mutex_lock() after the error handling case.
This commit is my solution for this post.
[PATCH -next] ALSA: bebob: Fix missing unlock on error in special_clk_ctl_put() https://lkml.org/lkml/2014/7/20/12
Signed-off-by: Takashi Sakamoto o-takashi@sakamocchi.jp
Thanks, applied all three patches now.
BTW, at the next time, put "v2" or such in the subject line so that people can distinguish the new patch series from the previous ones. You can use --subject-prefix option for git-format-patch or else.
Preferably, write the changes since the previous revision, too (usually below the --- line, so that it's not merged into the git changelog; some people like to have them in the final commit, though.)
Last but not least, don't forget to put a proper subject prefix. For ALSA codes, we put "ALSA:" prefix in the subject. Study git changelogs.
Takashi
sound/firewire/bebob/bebob_maudio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sound/firewire/bebob/bebob_maudio.c b/sound/firewire/bebob/bebob_maudio.c index 6af50eb..fc470c6 100644 --- a/sound/firewire/bebob/bebob_maudio.c +++ b/sound/firewire/bebob/bebob_maudio.c @@ -379,12 +379,12 @@ static int special_clk_ctl_put(struct snd_kcontrol *kctl, struct special_params *params = bebob->maudio_special_quirk; int err, id;
- mutex_lock(&bebob->mutex);
- id = uval->value.enumerated.item[0]; if (id >= ARRAY_SIZE(special_clk_labels)) return 0;
- mutex_lock(&bebob->mutex);
- err = avc_maudio_set_special_clk(bebob, id, params->dig_in_fmt, params->dig_out_fmt,
-- 1.9.1