summaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/udl/udl_dmabuf.c
diff options
context:
space:
mode:
authorHaixia Shi <hshi@chromium.org>2014-11-25 12:04:02 -0800
committerDave Airlie <airlied@redhat.com>2014-11-26 10:03:00 +1000
commit4bc158e0be4b03b320db9f3b91a84c898ae928a0 (patch)
tree20b69afd73ae291cd077bfac5b19b8521b773a4c /drivers/gpu/drm/udl/udl_dmabuf.c
parent0a3d775fb2c951d1bd3f5f916eee55face0eaada (diff)
downloadlinux-4bc158e0be4b03b320db9f3b91a84c898ae928a0.tar.bz2
drm/udl: handle page mapping in dmabuf export.
Fixes dmabuf export failure with -E_NOMEM when the page is not mapped. Signed-off-by: Haixia Shi <hshi@chromium.org> Reviewed-by: Stéphane Marchesin <marcheu@chromium.org> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/udl/udl_dmabuf.c')
-rw-r--r--drivers/gpu/drm/udl/udl_dmabuf.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/gpu/drm/udl/udl_dmabuf.c b/drivers/gpu/drm/udl/udl_dmabuf.c
index 1d85c3a9151d..2425b76dc44c 100644
--- a/drivers/gpu/drm/udl/udl_dmabuf.c
+++ b/drivers/gpu/drm/udl/udl_dmabuf.c
@@ -90,8 +90,11 @@ static struct sg_table *udl_map_dma_buf(struct dma_buf_attachment *attach,
return &udl_attach->sgt;
if (!obj->pages) {
- DRM_ERROR("pages is null.\n");
- return ERR_PTR(-ENOMEM);
+ ret = udl_gem_get_pages(obj);
+ if (ret) {
+ DRM_ERROR("failed to map pages.\n");
+ return ERR_PTR(ret);
+ }
}
page_count = obj->base.size / PAGE_SIZE;