Эх сурвалжийг харах

pinctrl: single: Fix missing unlock on error path

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

Fixes: 0f5972033509 ("pinctrl: single: Fix group and function selector use")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Wei Yongjun 7 жил өмнө
parent
commit
673ba5a05c

+ 2 - 2
drivers/pinctrl/pinctrl-single.c

@@ -1071,8 +1071,8 @@ free_pingroups:
 	*num_maps = 1;
 	*num_maps = 1;
 free_function:
 free_function:
 	pinmux_generic_remove_function(pcs->pctl, fsel);
 	pinmux_generic_remove_function(pcs->pctl, fsel);
-	mutex_unlock(&pcs->mutex);
 free_pins:
 free_pins:
+	mutex_unlock(&pcs->mutex);
 	devm_kfree(pcs->dev, pins);
 	devm_kfree(pcs->dev, pins);
 
 
 free_vals:
 free_vals:
@@ -1211,8 +1211,8 @@ free_pingroups:
 	*num_maps = 1;
 	*num_maps = 1;
 free_function:
 free_function:
 	pinmux_generic_remove_function(pcs->pctl, fsel);
 	pinmux_generic_remove_function(pcs->pctl, fsel);
-	mutex_unlock(&pcs->mutex);
 free_pins:
 free_pins:
+	mutex_unlock(&pcs->mutex);
 	devm_kfree(pcs->dev, pins);
 	devm_kfree(pcs->dev, pins);
 
 
 free_vals:
 free_vals: