forked from rubenslte/android_kernel_samsung_msm8226
msm: kgsl: fix cleanup code in kgsl_ioctl_map_user_mem()
ion handles need to be handled differently than pmem or ashmem handles. CRs-Fixed: 359268 Change-Id: I20637644f247859245fbba80e5bc6b50fd896403 Signed-off-by: Jeremy Gebben <jgebben@codeaurora.org>
This commit is contained in:
+14
-4
@@ -1846,10 +1846,20 @@ static long kgsl_ioctl_map_user_mem(struct kgsl_device_private *dev_priv,
|
||||
kgsl_check_idle(dev_priv->device);
|
||||
return result;
|
||||
|
||||
error_put_file_ptr:
|
||||
if (entry->priv_data)
|
||||
fput(entry->priv_data);
|
||||
|
||||
error_put_file_ptr:
|
||||
switch (entry->memtype) {
|
||||
case KGSL_MEM_ENTRY_PMEM:
|
||||
case KGSL_MEM_ENTRY_ASHMEM:
|
||||
if (entry->priv_data)
|
||||
fput(entry->priv_data);
|
||||
break;
|
||||
case KGSL_MEM_ENTRY_ION:
|
||||
ion_unmap_dma(kgsl_ion_client, entry->priv_data);
|
||||
ion_free(kgsl_ion_client, entry->priv_data);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
error:
|
||||
kfree(entry);
|
||||
kgsl_check_idle(dev_priv->device);
|
||||
|
||||
Reference in New Issue
Block a user