diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index cdea8ac1fb88f52ee1b1ab70113efe8b7f4d89d6..bb78e9ce8bb31298564fdeb6066477307e8fc742 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -555,6 +555,13 @@ kgsl_context_destroy(struct kref *kref) write_lock(&device->context_lock); if (context->id != KGSL_CONTEXT_INVALID) { + + /* Clear the timestamps in the memstore during destroy */ + kgsl_sharedmem_writel(device, &device->memstore, + KGSL_MEMSTORE_OFFSET(context->id, soptimestamp), 0); + kgsl_sharedmem_writel(device, &device->memstore, + KGSL_MEMSTORE_OFFSET(context->id, eoptimestamp), 0); + idr_remove(&device->context_idr, context->id); context->id = KGSL_CONTEXT_INVALID; }