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>
diff --git a/drivers/w1/slaves/w1_ds28e04.c b/drivers/w1/slaves/w1_ds28e04.c
index f652db3..4aa1aa9 100644
--- a/drivers/w1/slaves/w1_ds28e04.c
+++ b/drivers/w1/slaves/w1_ds28e04.c
@@ -309,8 +309,10 @@
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;