From fc0ae24386142299db14dfea7f32a20022d94d90 Mon Sep 17 00:00:00 2001 From: "Mark A. Greer" Date: Tue, 23 Sep 2014 11:25:48 -0700 Subject: [PATCH] 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 Signed-off-by: Samuel Ortiz --- drivers/nfc/trf7970a.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/nfc/trf7970a.c b/drivers/nfc/trf7970a.c index 0fe7b957436..d2ccd289064 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, TRF7970A_RX_SPECIAL_SETTINGS_C424 | TRF7970A_RX_SPECIAL_SETTINGS_C212); if (ret) - return ret; + goto out_err; ret = trf7970a_write(trf, TRF7970A_REG_IO_CTRL, TRF7970A_REG_IO_CTRL_VRS(0x1)); if (ret) - return ret; + goto out_err; ret = trf7970a_write(trf, TRF7970A_NFC_LOW_FIELD_LEVEL, TRF7970A_NFC_LOW_FIELD_LEVEL_RFDET(0x3)); if (ret) - return ret; + goto out_err; ret = trf7970a_write(trf, TRF7970A_NFC_TARGET_LEVEL, TRF7970A_NFC_TARGET_LEVEL_RFDET(0x7)); if (ret) - return ret; + goto out_err; trf->ddev = ddev; trf->cb = cb; -- 2.46.0