mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-07 12:25:00 -04:00
msm: kgsl: Correctly clean up dma buffer attachment in case of error
In kgsl_ioctl_gpuobj_import(), user memory of type KGSL_USER_MEM_TYPE_ADDR can also lead to setting up a dma buffer. When attaching mem entry to process fails, dma buffer attachment is cleaned up only in case of KGSL_USER_MEM_TYPE_DMABUF. Similar situation can arise in case of kgsl_ioctl_map_user_mem(). Fix this by obtaining user memory type from the memdesc flags. Change-Id: I502bd0ae19241802e8f835f20391b2ce67999418 Signed-off-by: Puranam V G Tejaswi <pvgtejas@codeaurora.org> Signed-off-by: Deepak Kumar <dkumar@codeaurora.org>
This commit is contained in:
parent
22abee5132
commit
92e89ccd38
1 changed files with 2 additions and 2 deletions
|
|
@ -2628,7 +2628,7 @@ long kgsl_ioctl_gpuobj_import(struct kgsl_device_private *dev_priv,
|
|||
return 0;
|
||||
|
||||
unmap:
|
||||
if (param->type == KGSL_USER_MEM_TYPE_DMABUF) {
|
||||
if (kgsl_memdesc_usermem_type(&entry->memdesc) == KGSL_MEM_ENTRY_ION) {
|
||||
kgsl_destroy_ion(entry->priv_data);
|
||||
entry->memdesc.sgt = NULL;
|
||||
}
|
||||
|
|
@ -2936,7 +2936,7 @@ long kgsl_ioctl_map_user_mem(struct kgsl_device_private *dev_priv,
|
|||
return result;
|
||||
|
||||
error_attach:
|
||||
switch (memtype) {
|
||||
switch (kgsl_memdesc_usermem_type(&entry->memdesc)) {
|
||||
case KGSL_MEM_ENTRY_ION:
|
||||
kgsl_destroy_ion(entry->priv_data);
|
||||
entry->memdesc.sgt = NULL;
|
||||
|
|
|
|||
Loading…
Reference in a new issue