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: Jiri Slaby <jirislaby@gmail.com> Cc: Alessandro Zummo <a.zummo@towertech.it> Cc: Scott Wood <scottwood@freescale.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
efc0cfa6d1
commit
28df30e61b
|
@ -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);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue