]> git.openfabrics.org - ~emulex/infiniband.git/commitdiff
drm/exynos: Fix error routine to getting dma addr.
authorYoungJun Cho <yj44.cho@samsung.com>
Mon, 11 Mar 2013 10:48:05 +0000 (19:48 +0900)
committerInki Dae <inki.dae@samsung.com>
Wed, 20 Mar 2013 10:09:10 +0000 (19:09 +0900)
This patch fixes error routine when g2d_userptr_get_dma_add is failed.
When sg_alloc_table_from_pages() is failed, it doesn't call
sg_free_table() anymore.

Signed-off-by: YoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: Inki Dae <inki.dae@samsung.com>
Signed-off-by: Kyungmin Park <kyungmin.park@samsung.com>
drivers/gpu/drm/exynos/exynos_drm_g2d.c

index 3b0da0378acf509976361d85322dc1fbc5c6779f..28b71125189bbecb87ca340386b23935525e7c47 100644 (file)
@@ -450,7 +450,7 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,
                                                DMA_BIDIRECTIONAL);
        if (ret < 0) {
                DRM_ERROR("failed to map sgt with dma region.\n");
-               goto err_free_sgt;
+               goto err_sg_free_table;
        }
 
        g2d_userptr->dma_addr = sgt->sgl[0].dma_address;
@@ -467,8 +467,10 @@ static dma_addr_t *g2d_userptr_get_dma_addr(struct drm_device *drm_dev,
 
        return &g2d_userptr->dma_addr;
 
-err_free_sgt:
+err_sg_free_table:
        sg_free_table(sgt);
+
+err_free_sgt:
        kfree(sgt);
        sgt = NULL;