diff options
author | Rob Clark <robdclark@gmail.com> | 2016-05-25 01:29:38 +0300 |
---|---|---|
committer | Rob Clark <robdclark@gmail.com> | 2016-06-04 21:45:48 +0300 |
commit | 69a834c28fb514403eb91a4f0120da214a52e056 (patch) | |
tree | 718733cb1bdaea6feb4a831e14838d03d19ef85c /drivers/gpu/drm/msm/msm_gem.c | |
parent | ab3ab68493aaac6fea4ad1bb597def9f48f41c71 (diff) | |
download | linux-69a834c28fb514403eb91a4f0120da214a52e056.tar.xz |
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.c | 2 |
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; } |