diff options
| author | 2014-03-31 10:40:13 +0200 | |
|---|---|---|
| committer | 2014-03-31 10:45:15 +0200 | |
| commit | 0654a65f26d4b226c0b3e8a050db100200a6b924 (patch) | |
| tree | 7b448b84cdc7ec0bbbd1ad6e9500eef94af0bfe8 /drivers/gpu/drm/udl/udl_gem.c | |
| parent | drm/i915/tv: fix gen4 composite s-video tv-out (diff) | |
| parent | Linux 3.14 (diff) | |
| download | wireguard-linux-0654a65f26d4b226c0b3e8a050db100200a6b924.tar.xz wireguard-linux-0654a65f26d4b226c0b3e8a050db100200a6b924.zip | |
Merge tag 'v3.14' into drm-intel-next-queued
Linux 3.14
The vt-d w/a merged late in 3.14-rc needs a bit of fine-tuning, hence
backmerge.
Conflicts:
drivers/gpu/drm/i915/i915_gem_gtt.c
drivers/gpu/drm/i915/intel_ddi.c
drivers/gpu/drm/i915/intel_dp.c
All trivial adjacent lines changed type conflicts, so trivial git
doesn't even show them in the merg commit.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/udl/udl_gem.c')
| -rw-r--r-- | drivers/gpu/drm/udl/udl_gem.c | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/drivers/gpu/drm/udl/udl_gem.c b/drivers/gpu/drm/udl/udl_gem.c index be4fcd0f0e0f..c041cd73f399 100644 --- a/drivers/gpu/drm/udl/udl_gem.c +++ b/drivers/gpu/drm/udl/udl_gem.c @@ -177,8 +177,10 @@ void udl_gem_free_object(struct drm_gem_object *gem_obj) if (obj->vmapping) udl_gem_vunmap(obj); - if (gem_obj->import_attach) + if (gem_obj->import_attach) { drm_prime_gem_destroy(gem_obj, obj->sg); + put_device(gem_obj->dev->dev); + } if (obj->pages) udl_gem_put_pages(obj); @@ -256,9 +258,12 @@ struct drm_gem_object *udl_gem_prime_import(struct drm_device *dev, int ret; /* need to attach */ + get_device(dev->dev); attach = dma_buf_attach(dma_buf, dev->dev); - if (IS_ERR(attach)) + if (IS_ERR(attach)) { + put_device(dev->dev); return ERR_CAST(attach); + } get_dma_buf(dma_buf); @@ -282,6 +287,6 @@ fail_unmap: fail_detach: dma_buf_detach(dma_buf, attach); dma_buf_put(dma_buf); - + put_device(dev->dev); return ERR_PTR(ret); } |
