From 50a212ec906f7524620675f0c57357691c26c81f Mon Sep 17 00:00:00 2001
From: hc <hc@nodka.com>
Date: Wed, 16 Oct 2024 01:20:19 +0000
Subject: [PATCH] 修改GPIO导出默认初始值
---
kernel/drivers/gpu/drm/drm_gem_shmem_helper.c | 15 ++++++++++++---
1 files changed, 12 insertions(+), 3 deletions(-)
diff --git a/kernel/drivers/gpu/drm/drm_gem_shmem_helper.c b/kernel/drivers/gpu/drm/drm_gem_shmem_helper.c
index c56656a..e8f0730 100644
--- a/kernel/drivers/gpu/drm/drm_gem_shmem_helper.c
+++ b/kernel/drivers/gpu/drm/drm_gem_shmem_helper.c
@@ -614,11 +614,20 @@
int ret;
if (obj->import_attach) {
- /* Drop the reference drm_gem_mmap_obj() acquired.*/
- drm_gem_object_put(obj);
+ /* Reset both vm_ops and vm_private_data, so we don't end up with
+ * vm_ops pointing to our implementation if the dma-buf backend
+ * doesn't set those fields.
+ */
vma->vm_private_data = NULL;
+ vma->vm_ops = NULL;
- return dma_buf_mmap(obj->dma_buf, vma, 0);
+ ret = dma_buf_mmap(obj->dma_buf, vma, 0);
+
+ /* Drop the reference drm_gem_mmap_obj() acquired.*/
+ if (!ret)
+ drm_gem_object_put(obj);
+
+ return ret;
}
shmem = to_drm_gem_shmem_obj(obj);
--
Gitblit v1.6.2