diff options
author | monk.liu <monk.liu@amd.com> | 2015-04-27 15:19:20 +0800 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2015-06-03 21:03:21 -0400 |
commit | 840d51445f1527bda37b5d48a203ecff7988ad2b (patch) | |
tree | 9c625a575fd362a003afcdeb55a4c72db92cad6c /drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | |
parent | 7ab7e8a4096d2af80613113ae4bea497b4f0baf5 (diff) |
drm/amdgpu: fix bug occurs when bo_list is NULL
Still need to handle ibs BO and validate them even bo_list is NULL
Signed-off-by: Monk.Liu <monk.liu@amd.com>
Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c')
-rw-r--r-- | drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c index 70a90312d0a4..ffbe9aa9f232 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c @@ -353,19 +353,19 @@ static int amdgpu_cs_parser_relocs(struct amdgpu_cs_parser *p) { struct amdgpu_fpriv *fpriv = p->filp->driver_priv; struct amdgpu_cs_buckets buckets; - bool need_mmap_lock; + bool need_mmap_lock = false; int i, r; - if (p->bo_list == NULL) - return 0; + if (p->bo_list) { + need_mmap_lock = p->bo_list->has_userptr; + amdgpu_cs_buckets_init(&buckets); + for (i = 0; i < p->bo_list->num_entries; i++) + amdgpu_cs_buckets_add(&buckets, &p->bo_list->array[i].tv.head, + p->bo_list->array[i].priority); - need_mmap_lock = p->bo_list->has_userptr; - amdgpu_cs_buckets_init(&buckets); - for (i = 0; i < p->bo_list->num_entries; i++) - amdgpu_cs_buckets_add(&buckets, &p->bo_list->array[i].tv.head, - p->bo_list->array[i].priority); + amdgpu_cs_buckets_get_list(&buckets, &p->validated); + } - amdgpu_cs_buckets_get_list(&buckets, &p->validated); p->vm_bos = amdgpu_vm_get_bos(p->adev, &fpriv->vm, &p->validated); |