Commit b9e3016a authored by Mark A. Greer's avatar Mark A. Greer Committed by Samuel Ortiz

NFC: trf7970a: Unlock mutex before exiting trf7970a_irq()

Recent changes to trf7970a_irq() added a couple return
paths that don't unlock the mutex that is locked when
the routine is entered.  Fix this by ensuring the mutex
is always unlocked before returning.
Signed-off-by: default avatarMark A. Greer <mgreer@animalcreek.com>
Signed-off-by: default avatarSamuel Ortiz <sameo@linux.intel.com>
parent 55ef2e75
...@@ -920,7 +920,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id) ...@@ -920,7 +920,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id)
TRF7970A_SPECIAL_FCN_REG1, TRF7970A_SPECIAL_FCN_REG1,
TRF7970A_SPECIAL_FCN_REG1_14_ANTICOLL); TRF7970A_SPECIAL_FCN_REG1_14_ANTICOLL);
if (ret) if (ret)
return ret; goto err_unlock_exit;
trf->special_fcn_reg1 = trf->special_fcn_reg1 =
TRF7970A_SPECIAL_FCN_REG1_14_ANTICOLL; TRF7970A_SPECIAL_FCN_REG1_14_ANTICOLL;
...@@ -933,7 +933,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id) ...@@ -933,7 +933,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id)
ret = trf7970a_write(trf, TRF7970A_ISO_CTRL, ret = trf7970a_write(trf, TRF7970A_ISO_CTRL,
iso_ctrl); iso_ctrl);
if (ret) if (ret)
return ret; goto err_unlock_exit;
trf->iso_ctrl = iso_ctrl; trf->iso_ctrl = iso_ctrl;
} }
...@@ -975,6 +975,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id) ...@@ -975,6 +975,7 @@ static irqreturn_t trf7970a_irq(int irq, void *dev_id)
__func__, trf->state); __func__, trf->state);
} }
err_unlock_exit:
mutex_unlock(&trf->lock); mutex_unlock(&trf->lock);
return IRQ_HANDLED; return IRQ_HANDLED;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment