Browse Source

Merge "msm: eva: Handling mutex lock in case of failure"

qctecmdr 1 year ago
parent
commit
348de74e5a
1 changed files with 5 additions and 2 deletions
  1. 5 2
      msm/eva/msm_cvp.c

+ 5 - 2
msm/eva/msm_cvp.c

@@ -272,7 +272,8 @@ static bool cvp_fence_wait(struct cvp_fence_queue *q,
 		return false;
 
 	*fence = NULL;
-	mutex_lock(&q->lock);
+	if (!mutex_trylock(&q->lock))
+		return false;
 	*state = q->state;
 	if (*state != QUEUE_START) {
 		mutex_unlock(&q->lock);
@@ -422,8 +423,10 @@ wait:
 	if (state != QUEUE_START)
 		goto exit;
 
-	if (!f)
+	if (!f) {
+		usleep_range(100, 200);
 		goto wait;
+	}
 
 	pkt = f->pkt;
 	synx = (u32 *)f->synx;