aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/nfc
diff options
context:
space:
mode:
authorMark A. Greer <mgreer@animalcreek.com>2014-09-23 14:25:48 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2014-09-23 18:28:23 -0400
commitfc0ae24386142299db14dfea7f32a20022d94d90 (patch)
treebfa9a5712f931fd34d1a94e687de48a0942aff91 /drivers/nfc
parentb9e3016a5369839bf923c8d2bec9d1552e50f3f3 (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.c8
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;