summaryrefslogtreecommitdiff
path: root/services/std_svc/spm/spmc/spmc_shared_mem.c
diff options
context:
space:
mode:
Diffstat (limited to 'services/std_svc/spm/spmc/spmc_shared_mem.c')
-rw-r--r--services/std_svc/spm/spmc/spmc_shared_mem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/services/std_svc/spm/spmc/spmc_shared_mem.c b/services/std_svc/spm/spmc/spmc_shared_mem.c
index 69e345dbc..2f7f45b5e 100644
--- a/services/std_svc/spm/spmc/spmc_shared_mem.c
+++ b/services/std_svc/spm/spmc/spmc_shared_mem.c
@@ -491,6 +491,7 @@ spmc_ffa_mem_retrieve_req(uint32_t smc_fid,
spin_lock(&mbox->lock);
if (mbox->state != MAILBOX_STATE_EMPTY) {
+ spin_unlock(&mbox->lock);
WARN("%s: RX Buffer is full! \n", __func__);
return spmc_ffa_error_return(handle, FFA_ERROR_DENIED);
}
@@ -643,6 +644,7 @@ long spmc_ffa_mem_frag_rx(uint32_t smc_fid,
spin_lock(&mbox->lock);
if (mbox->state != MAILBOX_STATE_EMPTY) {
+ spin_unlock(&mbox->lock);
WARN("%s: RX Buffer is full! \n", __func__);
return spmc_ffa_error_return(handle, FFA_ERROR_DENIED);
}