summaryrefslogtreecommitdiff
path: root/drivers/gpu
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/msm/kgsl.c13
-rw-r--r--drivers/gpu/msm/kgsl.h7
2 files changed, 10 insertions, 10 deletions
diff --git a/drivers/gpu/msm/kgsl.c b/drivers/gpu/msm/kgsl.c
index c820c9ca7a3a..10e139a9b00f 100644
--- a/drivers/gpu/msm/kgsl.c
+++ b/drivers/gpu/msm/kgsl.c
@@ -1243,9 +1243,6 @@ kgsl_sharedmem_find(struct kgsl_process_private *private, uint64_t gpuaddr)
spin_lock(&private->mem_lock);
idr_for_each_entry(&private->mem_idr, entry, id) {
- if (entry == NULL)
- continue;
-
if (GPUADDR_IN_MEMDESC(gpuaddr, &entry->memdesc)) {
ret = kgsl_mem_entry_get(entry);
break;
@@ -1270,18 +1267,17 @@ EXPORT_SYMBOL(kgsl_sharedmem_find);
struct kgsl_mem_entry * __must_check
kgsl_sharedmem_find_id(struct kgsl_process_private *process, unsigned int id)
{
- int result = 0;
+ int result;
struct kgsl_mem_entry *entry;
drain_workqueue(kgsl_driver.mem_workqueue);
spin_lock(&process->mem_lock);
entry = idr_find(&process->mem_idr, id);
- if (entry)
- result = kgsl_mem_entry_get(entry);
+ result = kgsl_mem_entry_get(entry);
spin_unlock(&process->mem_lock);
- if (!result)
+ if (result == 0)
return NULL;
return entry;
}
@@ -3309,7 +3305,8 @@ kgsl_mmap_memstore(struct kgsl_device *device, struct vm_area_struct *vma)
static void kgsl_gpumem_vm_open(struct vm_area_struct *vma)
{
struct kgsl_mem_entry *entry = vma->vm_private_data;
- if (!kgsl_mem_entry_get(entry))
+
+ if (kgsl_mem_entry_get(entry) == 0)
vma->vm_private_data = NULL;
}
diff --git a/drivers/gpu/msm/kgsl.h b/drivers/gpu/msm/kgsl.h
index b8bc155cd335..bc0ae2bac915 100644
--- a/drivers/gpu/msm/kgsl.h
+++ b/drivers/gpu/msm/kgsl.h
@@ -435,13 +435,16 @@ static inline void kgsl_schedule_work(struct work_struct *work)
static inline int
kgsl_mem_entry_get(struct kgsl_mem_entry *entry)
{
- return kref_get_unless_zero(&entry->refcount);
+ if (entry)
+ return kref_get_unless_zero(&entry->refcount);
+ return 0;
}
static inline void
kgsl_mem_entry_put(struct kgsl_mem_entry *entry)
{
- kref_put(&entry->refcount, kgsl_mem_entry_destroy);
+ if (entry)
+ kref_put(&entry->refcount, kgsl_mem_entry_destroy);
}
/**