diff options
author | Haixia Shi <hshi@chromium.org> | 2014-11-25 12:04:02 -0800 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2014-11-26 10:03:00 +1000 |
commit | 4bc158e0be4b03b320db9f3b91a84c898ae928a0 (patch) | |
tree | 20b69afd73ae291cd077bfac5b19b8521b773a4c /drivers/gpu/drm/udl/udl_dmabuf.c | |
parent | 0a3d775fb2c951d1bd3f5f916eee55face0eaada (diff) | |
download | linux-rt-4bc158e0be4b03b320db9f3b91a84c898ae928a0.tar.gz |
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.c | 7 |
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; |