Add the missing unlock before return from function gbaudio_dapm_free_controls() in the error handling case. Fixes: 510e340efe0c ("staging: greybus: audio: Add helper APIs for dynamic audio module") Reported-by: Hulk Robot <hulkci@xxxxxxxxxx> Signed-off-by: Wang Hai <wanghai38@xxxxxxxxxx> --- drivers/staging/greybus/audio_helper.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/staging/greybus/audio_helper.c b/drivers/staging/greybus/audio_helper.c index 237531ba60f3..293675dbea10 100644 --- a/drivers/staging/greybus/audio_helper.c +++ b/drivers/staging/greybus/audio_helper.c @@ -135,6 +135,7 @@ int gbaudio_dapm_free_controls(struct snd_soc_dapm_context *dapm, if (!w) { dev_err(dapm->dev, "%s: widget not found\n", widget->name); + mutex_unlock(&dapm->card->dapm_mutex); return -EINVAL; } widget++; -- 2.17.1 _______________________________________________ greybus-dev mailing list greybus-dev@xxxxxxxxxxxxxxxx https://lists.linaro.org/mailman/listinfo/greybus-dev