summaryrefslogtreecommitdiff
path: root/drivers/char
diff options
context:
space:
mode:
authorDan Carpenter <error27@gmail.com>2010-08-11 22:01:46 +0400
committerGreg Kroah-Hartman <gregkh@suse.de>2010-08-24 05:17:21 +0400
commit80d04f22b0869a1145b36a90a83a79603ac92be8 (patch)
tree196b465c243e3b230530ffeda8ef3396bdd82a94 /drivers/char
parent49bf7eaffc0c252ab2a2cc8f1bf8c0077e778704 (diff)
downloadlinux-80d04f22b0869a1145b36a90a83a79603ac92be8.tar.xz
synclink: add mutex_unlock() on error path
There is a path which still holds its mutex here. Signed-off-by: Dan Carpenter <error27@gmail.com> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/char')
-rw-r--r--drivers/char/synclink_gt.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/char/synclink_gt.c b/drivers/char/synclink_gt.c
index fef80cfcab5c..e63b830c86cc 100644
--- a/drivers/char/synclink_gt.c
+++ b/drivers/char/synclink_gt.c
@@ -691,8 +691,10 @@ static int open(struct tty_struct *tty, struct file *filp)
if (info->port.count == 1) {
/* 1st open on this device, init hardware */
retval = startup(info);
- if (retval < 0)
+ if (retval < 0) {
+ mutex_unlock(&info->port.mutex);
goto cleanup;
+ }
}
mutex_unlock(&info->port.mutex);
retval = block_til_ready(tty, filp, info);