Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 067ed331 authored by YoungJun Cho's avatar YoungJun Cho Committed by Inki Dae
Browse files

drm/exynos: Fix error routine to getting dma addr.



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: default avatarYoungJun Cho <yj44.cho@samsung.com>
Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
Signed-off-by: default avatarKyungmin Park <kyungmin.park@samsung.com>
parent e2779e16
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -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;