if (PMU_IS_SW_COMMAND_QUEUE(queue->id)) {
mutex_lock(&queue->mutex);
- queue->locked = true;
return 0;
}
- err = pmu_mutex_acquire(pmu, queue->mutex_id,
- &queue->mutex_lock);
- if (err == 0)
- queue->locked = true;
-
+ err = pmu_mutex_acquire(pmu, queue->mutex_id, &queue->mutex_lock);
return err;
}
if (PMU_IS_SW_COMMAND_QUEUE(queue->id)) {
mutex_unlock(&queue->mutex);
- queue->locked = false;
return 0;
}
- if (queue->locked) {
- err = pmu_mutex_release(pmu, queue->mutex_id,
- &queue->mutex_lock);
- if (err == 0)
- queue->locked = false;
- }
-
- return 0;
+ err = pmu_mutex_release(pmu, queue->mutex_id, &queue->mutex_lock);
+ return err;
}
/* called by pmu_read_message, no lock */
u32 head, tail, free;
bool rewind = false;
- BUG_ON(!queue->locked);
-
size = ALIGN(size, QUEUE_ALIGNMENT);
pmu_queue_head(pmu, queue, &head, QUEUE_GET);