From: Mark A. Greer Date: Tue, 23 Sep 2014 18:25:48 +0000 (-0700) Subject: NFC: trf7970a: Unlock mutex before exiting _trf7970a_tg_listen() X-Git-Url: http://drtracing.org/?a=commitdiff_plain;h=fc0ae24386142299db14dfea7f32a20022d94d90;p=deliverable%2Flinux.git 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 --- 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, 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;