summaryrefslogtreecommitdiff
path: root/drivers/pinctrl
diff options
context:
space:
mode:
authorWei Yongjun <yongjun_wei@trendmicro.com.cn>2012-10-22 12:58:09 +0800
committerLinus Walleij <linus.walleij@linaro.org>2012-10-23 10:35:10 +0200
commitb4dd784ba8af03bf1f9ee5118c792d7abd4919bd (patch)
tree91207cfe3eb4001df38c5e60489a225d27855be3 /drivers/pinctrl
parent268300be0e1a0b06582af55251294b268c3d4654 (diff)
downloadlinux-3.10-b4dd784ba8af03bf1f9ee5118c792d7abd4919bd.tar.gz
linux-3.10-b4dd784ba8af03bf1f9ee5118c792d7abd4919bd.tar.bz2
linux-3.10-b4dd784ba8af03bf1f9ee5118c792d7abd4919bd.zip
pinctrl: fix missing unlock on error in pinctrl_groups_show()
Add the missing unlock on the error handle path in function pinctrl_groups_show(). Cc: stable@kernel.org Signed-off-by: Wei Yongjun <yongjun_wei@trendmicro.com.cn> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/pinctrl')
-rw-r--r--drivers/pinctrl/core.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index 0f1ec9e8ff1..2e39c04fc16 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -1061,8 +1061,10 @@ static int pinctrl_groups_show(struct seq_file *s, void *what)
seq_printf(s, "group: %s\n", gname);
for (i = 0; i < num_pins; i++) {
pname = pin_get_name(pctldev, pins[i]);
- if (WARN_ON(!pname))
+ if (WARN_ON(!pname)) {
+ mutex_unlock(&pinctrl_mutex);
return -EINVAL;
+ }
seq_printf(s, "pin %d (%s)\n", pins[i], pname);
}
seq_puts(s, "\n");