On Wed, 20 May 2020 20:02:32 +0200
Daniel Vetter <daniel.vet...@ffwll.ch> wrote:
 
> @@ -695,36 +702,16 @@ drm_gem_shmem_prime_import_sg_table(struct drm_device 
> *dev,
>                                   struct sg_table *sgt)
>  {
>       size_t size = PAGE_ALIGN(attach->dmabuf->size);
> -     size_t npages = size >> PAGE_SHIFT;
>       struct drm_gem_shmem_object *shmem;
> -     int ret;
>  
>       shmem = drm_gem_shmem_create(dev, size);
>       if (IS_ERR(shmem))
>               return ERR_CAST(shmem);
>  
> -     shmem->pages = kvmalloc_array(npages, sizeof(struct page *), 
> GFP_KERNEL);
> -     if (!shmem->pages) {
> -             ret = -ENOMEM;
> -             goto err_free_gem;
> -     }
> -
> -     ret = drm_prime_sg_to_page_addr_arrays(sgt, shmem->pages, NULL, npages);
> -     if (ret < 0)
> -             goto err_free_array;
> -
>       shmem->sgt = sgt;
> -     shmem->pages_use_count = 1; /* Permanently pinned from our point of 
> view */

Keep the above line and that should be good.

>  
>       DRM_DEBUG_PRIME("size = %zu\n", size);
>  
>       return &shmem->base;
> -
> -err_free_array:
> -     kvfree(shmem->pages);
> -err_free_gem:
> -     drm_gem_object_put(&shmem->base);
> -
> -     return ERR_PTR(ret);
>  }
>  EXPORT_SYMBOL_GPL(drm_gem_shmem_prime_import_sg_table);

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to