summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/msm/msm_gem.c
diff options
context:
space:
mode:
authorRob Clark2016-05-25 00:29:38 +0200
committerRob Clark2016-06-04 20:45:48 +0200
commit69a834c28fb514403eb91a4f0120da214a52e056 (patch)
tree718733cb1bdaea6feb4a831e14838d03d19ef85c /drivers/gpu/drm/msm/msm_gem.c
parentdrm/omap: fix unused variable warning. (diff)
downloadkernel-qcow2-linux-69a834c28fb514403eb91a4f0120da214a52e056.tar.gz
kernel-qcow2-linux-69a834c28fb514403eb91a4f0120da214a52e056.tar.xz
kernel-qcow2-linux-69a834c28fb514403eb91a4f0120da214a52e056.zip
drm/msm: deal with exhausted vmap space better
Some, but not all, callers of obj->vmap() would check if return IS_ERR(). So let's actually return an error if vmap() fails. And fixup the call-sites that were not handling this properly. Signed-off-by: Rob Clark <robdclark@gmail.com>
Diffstat (limited to 'drivers/gpu/drm/msm/msm_gem.c')
-rw-r--r--drivers/gpu/drm/msm/msm_gem.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c
index 7daf4054dd2b..69836f5685b1 100644
--- a/drivers/gpu/drm/msm/msm_gem.c
+++ b/drivers/gpu/drm/msm/msm_gem.c
@@ -398,6 +398,8 @@ void *msm_gem_vaddr_locked(struct drm_gem_object *obj)
return ERR_CAST(pages);
msm_obj->vaddr = vmap(pages, obj->size >> PAGE_SHIFT,
VM_MAP, pgprot_writecombine(PAGE_KERNEL));
+ if (msm_obj->vaddr == NULL)
+ return ERR_PTR(-ENOMEM);
}
return msm_obj->vaddr;
}