diff options
Diffstat (limited to 'drivers/gpu/drm/drm_gem.c')
| -rw-r--r-- | drivers/gpu/drm/drm_gem.c | 9 | 
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_gem.c b/drivers/gpu/drm/drm_gem.c index 0ef358e5324..83114b5e3ce 100644 --- a/drivers/gpu/drm/drm_gem.c +++ b/drivers/gpu/drm/drm_gem.c @@ -35,6 +35,7 @@  #include <linux/mman.h>  #include <linux/pagemap.h>  #include <linux/shmem_fs.h> +#include <linux/dma-buf.h>  #include "drmP.h"  /** @file drm_gem.c @@ -232,6 +233,10 @@ drm_gem_handle_delete(struct drm_file *filp, u32 handle)  	idr_remove(&filp->object_idr, handle);  	spin_unlock(&filp->table_lock); +	if (obj->import_attach) +		drm_prime_remove_imported_buf_handle(&filp->prime, +				obj->import_attach->dmabuf); +  	if (dev->driver->gem_close_object)  		dev->driver->gem_close_object(obj, filp);  	drm_gem_object_handle_unreference_unlocked(obj); @@ -527,6 +532,10 @@ drm_gem_object_release_handle(int id, void *ptr, void *data)  	struct drm_gem_object *obj = ptr;  	struct drm_device *dev = obj->dev; +	if (obj->import_attach) +		drm_prime_remove_imported_buf_handle(&file_priv->prime, +				obj->import_attach->dmabuf); +  	if (dev->driver->gem_close_object)  		dev->driver->gem_close_object(obj, file_priv);  |