diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c index 04c72586..45062612 100644 --- a/drivers/gpu/msm/kgsl.c +++ b/drivers/gpu/msm/kgsl.c @@ -838,8 +838,6 @@ static void kgsl_destroy_process_private(struct kref *kref) mutex_unlock(&kgsl_driver.process_mutex); return; } - list_del(&private->list); - mutex_unlock(&kgsl_driver.process_mutex); if (private->kobj.parent) kgsl_process_uninit_sysfs(private); @@ -863,6 +861,9 @@ static void kgsl_destroy_process_private(struct kref *kref) kgsl_mmu_putpagetable(private->pagetable); idr_destroy(&private->mem_idr); + list_del(&private->list); + mutex_unlock(&kgsl_driver.process_mutex); + kfree(private); return; }