diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-04-13 16:39:06 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-18 15:37:35 -0700 |
commit | eda70f1dfc9e5165b9413dbf1ccb5c108f26a18c (patch) | |
tree | b22a3562f6aec42440eaadaee49b3cb785f51425 /drivers | |
parent | 8f1e12512e9f1276b68c8b14a60961658c73336f (diff) |
w1: w1_ds28e04: unlock on error path in w1_f1C_write_pio()
We should unlock here before returning.
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-by: Evgeniy Polyakov <zbr@ioremap.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/w1/slaves/w1_ds28e04.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/w1/slaves/w1_ds28e04.c b/drivers/w1/slaves/w1_ds28e04.c index f652db3782bf..4aa1aa90480d 100644 --- a/drivers/w1/slaves/w1_ds28e04.c +++ b/drivers/w1/slaves/w1_ds28e04.c @@ -309,8 +309,10 @@ static ssize_t w1_f1C_write_pio(struct file *filp, struct kobject *kobj, mutex_lock(&sl->master->mutex); /* Write the PIO data */ - if (w1_reset_select_slave(sl)) + if (w1_reset_select_slave(sl)) { + mutex_unlock(&sl->master->mutex); return -1; + } /* set bit 7..2 to value '1' */ *buf = *buf | 0xFC; |