Commit 28df30e6 authored by Jiri Slaby's avatar Jiri Slaby Committed by Linus Torvalds
Browse files

rtc: ds1374, fix lock imbalance



When i2c_smbus_read_byte_data fails in ds1374_work, we forgot to unlock
the held lock.  Fix that.

Signed-off-by: default avatarJiri Slaby <jirislaby@gmail.com>
Cc: Alessandro Zummo <a.zummo@towertech.it>
Cc: Scott Wood <scottwood@freescale.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent efc0cfa6
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -283,7 +283,7 @@ static void ds1374_work(struct work_struct *work)

	stat = i2c_smbus_read_byte_data(client, DS1374_REG_SR);
	if (stat < 0)
		return;
		goto unlock;

	if (stat & DS1374_REG_SR_AF) {
		stat &= ~DS1374_REG_SR_AF;
@@ -302,7 +302,7 @@ static void ds1374_work(struct work_struct *work)
out:
	if (!ds1374->exiting)
		enable_irq(client->irq);

unlock:
	mutex_unlock(&ds1374->mutex);
}