diff options
author | Mark A. Greer <mgreer@animalcreek.com> | 2014-09-23 14:25:48 -0400 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2014-09-23 18:28:23 -0400 |
commit | fc0ae24386142299db14dfea7f32a20022d94d90 (patch) | |
tree | bfa9a5712f931fd34d1a94e687de48a0942aff91 /drivers/nfc | |
parent | b9e3016a5369839bf923c8d2bec9d1552e50f3f3 (diff) |
NFC: trf7970a: Unlock mutex before exiting _trf7970a_tg_listen()
The recently added _trf7970a_tg_listen() routine
has some return paths that don't unlock the mutex
that is locked when the routine is entered. Fix
this by always unlocking the mutex before returning.
Signed-off-by: Mark A. Greer <mgreer@animalcreek.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/nfc')
-rw-r--r-- | drivers/nfc/trf7970a.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index 0fe7b957436c..d2ccd2890647 100644 --- a/drivers/nfc/trf7970a.c +++ b/drivers/nfc/trf7970a.c | |||
@@ -1728,22 +1728,22 @@ static int _trf7970a_tg_listen(struct nfc_digital_dev *ddev, u16 timeout, | |||
1728 | TRF7970A_RX_SPECIAL_SETTINGS_C424 | | 1728 | TRF7970A_RX_SPECIAL_SETTINGS_C424 | |
1729 | TRF7970A_RX_SPECIAL_SETTINGS_C212); | 1729 | TRF7970A_RX_SPECIAL_SETTINGS_C212); |
1730 | if (ret) | 1730 | if (ret) |
1731 | return ret; | 1731 | goto out_err; |
1732 | 1732 | ||
1733 | ret = trf7970a_write(trf, TRF7970A_REG_IO_CTRL, | 1733 | ret = trf7970a_write(trf, TRF7970A_REG_IO_CTRL, |
1734 | TRF7970A_REG_IO_CTRL_VRS(0x1)); | 1734 | TRF7970A_REG_IO_CTRL_VRS(0x1)); |
1735 | if (ret) | 1735 | if (ret) |
1736 | return ret; | 1736 | goto out_err; |
1737 | 1737 | ||
1738 | ret = trf7970a_write(trf, TRF7970A_NFC_LOW_FIELD_LEVEL, | 1738 | ret = trf7970a_write(trf, TRF7970A_NFC_LOW_FIELD_LEVEL, |
1739 | TRF7970A_NFC_LOW_FIELD_LEVEL_RFDET(0x3)); | 1739 | TRF7970A_NFC_LOW_FIELD_LEVEL_RFDET(0x3)); |
1740 | if (ret) | 1740 | if (ret) |
1741 | return ret; | 1741 | goto out_err; |
1742 | 1742 | ||
1743 | ret = trf7970a_write(trf, TRF7970A_NFC_TARGET_LEVEL, | 1743 | ret = trf7970a_write(trf, TRF7970A_NFC_TARGET_LEVEL, |
1744 | TRF7970A_NFC_TARGET_LEVEL_RFDET(0x7)); | 1744 | TRF7970A_NFC_TARGET_LEVEL_RFDET(0x7)); |
1745 | if (ret) | 1745 | if (ret) |
1746 | return ret; | 1746 | goto out_err; |
1747 | 1747 | ||
1748 | trf->ddev = ddev; | 1748 | trf->ddev = ddev; |
1749 | trf->cb = cb; | 1749 | trf->cb = cb; |