diff options
author | Jon Medhurst <tixy@linaro.org> | 2015-09-29 14:21:12 +0100 |
---|---|---|
committer | Jon Medhurst <tixy@linaro.org> | 2015-09-29 14:21:12 +0100 |
commit | d29c22320273783c76cd000a470494d96f8d15a6 (patch) | |
tree | 0cec7c3d3ecc0e5aaf44283be46e73b0edc86a6e | |
parent | bdc99794d6b8cc90cda065c934f18d6e5dd50553 (diff) | |
parent | 6d4213308c4506fc6535c5710816b175a9855fc5 (diff) |
Merge branch 'lsk-3.18-armlt-hdlcd' into integration-lsk-3.18-armlt-androidlsk-3.18-armlt-20150929
-rw-r--r-- | drivers/gpu/drm/arm/hdlcd_fb_helper.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/gpu/drm/arm/hdlcd_fb_helper.c b/drivers/gpu/drm/arm/hdlcd_fb_helper.c index 64bb127d8b33..8958d88e6b90 100644 --- a/drivers/gpu/drm/arm/hdlcd_fb_helper.c +++ b/drivers/gpu/drm/arm/hdlcd_fb_helper.c @@ -590,6 +590,12 @@ static int hdlcd_get_dmabuf_ioctl(struct fb_info *info, unsigned int cmd, if (copy_from_user(&ebuf, argp, sizeof(ebuf))) return -EFAULT; + /* + * We need a reference on the gem object. This will be released by + * drm_gem_dmabuf_release when the file descriptor is closed. + */ + drm_gem_object_reference(&obj->base); + dma_buf = drm_gem_prime_export(helper->dev, &obj->base, ebuf.flags | O_RDWR); if (!dma_buf) { dev_info(info->dev, "Failed to export DMA buffer\n"); @@ -611,6 +617,7 @@ static int hdlcd_get_dmabuf_ioctl(struct fb_info *info, unsigned int cmd, err_export_fd: dma_buf_put(dma_buf); err_export: + drm_gem_object_unreference(&obj->base); return -EFAULT; } |