summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinux Build Service Account <lnxbuild@localhost>2019-04-05 01:16:53 -0700
committerGerrit - the friendly Code Review server <code-review@localhost>2019-04-05 01:16:51 -0700
commitf5387f19b78def8a33a686c4375f258fdb9e80d9 (patch)
tree10d6fd139e9f6ccfb7f030630e4a5d17f7547cce
parent14c735f15182bdb070528ac9d0ff067d64323eaf (diff)
parentb6870ada98821bc40f00f0faf02f25624602aaa7 (diff)
Merge "dsp: q6usm: Release spinlock before return if invalid payload size"
-rw-r--r--drivers/misc/qcom/qdsp6v2/ultrasound/q6usm.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/misc/qcom/qdsp6v2/ultrasound/q6usm.c b/drivers/misc/qcom/qdsp6v2/ultrasound/q6usm.c
index 127de5440196..30a81ba39001 100644
--- a/drivers/misc/qcom/qdsp6v2/ultrasound/q6usm.c
+++ b/drivers/misc/qcom/qdsp6v2/ultrasound/q6usm.c
@@ -645,6 +645,8 @@ static int32_t q6usm_callback(struct apr_client_data *data, void *priv)
(sizeof(uint32_t)*(READDONE_IDX_STATUS + 1))) {
pr_err("%s: Invalid payload size for READDONE[%d]\n",
__func__, data->payload_size);
+ spin_unlock_irqrestore(&port->dsp_lock,
+ dsp_flags);
return -EINVAL;
}
if (payload[READDONE_IDX_STATUS]) {