msm: kgsl: schedule the event queue after the dispatcher work queue

A race condition exists where the last retired timestamp may change
while processing the dispatcher work queue. If the next command is
a sync event that has not yet signaled a deadlock may occur.

Change-Id: I1113f2e60b8adeade65d6d979777a0aa276a172b
Signed-off-by: Jeff Boody <jboody@codeaurora.org>
This commit is contained in:
Jeff Boody 2013-09-17 17:21:44 -06:00
parent b3d040e803
commit 4f36f4e847

View file

@ -1352,6 +1352,9 @@ done:
mutex_unlock(&device->mutex);
mutex_unlock(&dispatcher->mutex);
/* Schedule the event queue */
queue_work(device->work_queue, &device->ts_expired_ws);
}
void adreno_dispatcher_schedule(struct kgsl_device *device)