NFC: trf7970a: Unlock mutex before exiting _trf7970a_tg_listen()
authorMark A. Greer <mgreer@animalcreek.com>
Tue, 23 Sep 2014 18:25:48 +0000 (11:25 -0700)
committerSamuel Ortiz <sameo@linux.intel.com>
Tue, 23 Sep 2014 22:28:23 +0000 (00:28 +0200)
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>
drivers/nfc/trf7970a.c

index 0fe7b957436c51463f45eec9e565d9f6bf564387..d2ccd289064739a17c9463e4698eab84ce716b64 100644 (file)
@@ -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;