Skip to content

Commit

Permalink
drm/exynos: remove duplicated error routine and unnecessary assign
Browse files Browse the repository at this point in the history
There were duplicated error handling routines during allocating
pages in lowlevel_buffer_allocate() and g2d_userptr_get_dma_addr().
Also unnecessary NULL assignments for variable used not any more
are removed from g2d_userptr_get_dma_addr() and
g2d_userptr_put_dma_addr().

Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
  • Loading branch information
Seung-Woo Kim authored and Inki Dae committed Jul 4, 2013
1 parent 42ac99a commit 4bb615c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 11 deletions.
6 changes: 3 additions & 3 deletions drivers/gpu/drm/exynos/exynos_drm_buf.c
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,8 @@ static int lowlevel_buffer_allocate(struct drm_device *dev,
&buf->dma_attrs);
if (!buf->kvaddr) {
DRM_ERROR("failed to allocate buffer.\n");
drm_free_large(buf->pages);
return -ENOMEM;
ret = -ENOMEM;
goto err_free;
}

start_addr = buf->dma_addr;
Expand Down Expand Up @@ -106,7 +106,7 @@ static int lowlevel_buffer_allocate(struct drm_device *dev,
dma_free_attrs(dev->dev, buf->size, buf->pages,
(dma_addr_t)buf->dma_addr, &buf->dma_attrs);
buf->dma_addr = (dma_addr_t)NULL;

err_free:
if (!is_drm_iommu_supported(dev))
drm_free_large(buf->pages);

Expand Down
12 changes: 4 additions & 8 deletions drivers/gpu/drm/exynos/exynos_drm_g2d.c
Original file line number Diff line number Diff line change
Expand Up @@ -388,12 +388,9 @@ static void g2d_userptr_put_dma_addr(struct drm_device *drm_dev,

sg_free_table(g2d_userptr->sgt);
kfree(g2d_userptr->sgt);
g2d_userptr->sgt = NULL;

drm_free_large(g2d_userptr->pages);
g2d_userptr->pages = NULL;
kfree(g2d_userptr);
g2d_userptr = NULL;
}

static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,
Expand Down Expand Up @@ -466,8 +463,8 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,
pages = drm_calloc_large(npages, sizeof(struct page *));
if (!pages) {
DRM_ERROR("failed to allocate pages.\n");
kfree(g2d_userptr);
return ERR_PTR(-ENOMEM);
ret = -ENOMEM;
goto err_free;
}

vma = find_vma(current->mm, userptr);
Expand Down Expand Up @@ -543,7 +540,6 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,

err_free_sgt:
kfree(sgt);
sgt = NULL;

err_free_userptr:
exynos_gem_put_pages_to_userptr(g2d_userptr->pages,
Expand All @@ -555,9 +551,9 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,

err_free_pages:
drm_free_large(pages);

err_free:
kfree(g2d_userptr);
pages = NULL;
g2d_userptr = NULL;

return ERR_PTR(ret);
}
Expand Down

0 comments on commit 4bb615c

Please sign in to comment.