diff options
author | Dan Carpenter <dan.carpenter@oracle.com> | 2012-04-13 15:39:06 +0200 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2012-04-19 00:37:35 +0200 |
commit | eda70f1dfc9e5165b9413dbf1ccb5c108f26a18c (patch) | |
tree | b22a3562f6aec42440eaadaee49b3cb785f51425 /drivers/w1/slaves/w1_ds28e04.c | |
parent | w1: Disable irqs during 1-wire bus operations, extend 1-wire reset pulse (diff) | |
download | linux-eda70f1dfc9e5165b9413dbf1ccb5c108f26a18c.tar.xz linux-eda70f1dfc9e5165b9413dbf1ccb5c108f26a18c.zip |
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 '')
-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; |