drm/tgm: tdm_pp: fix not to call sync fence without fence/dma_buf 53/197353/1 accepted/tizen/unified/20190114.060130 submit/tizen/20190111.030902
authorHoegeun Kwon <hoegeun.kwon@samsung.com>
Fri, 11 Jan 2019 00:55:37 +0000 (09:55 +0900)
committerHoegeun Kwon <hoegeun.kwon@samsung.com>
Fri, 11 Jan 2019 01:09:33 +0000 (10:09 +0900)
When without fence or dma_buf, tdm_pp tries to call sync fence and
it causes null deference or not necessary error message. Fix not
to call sync fence without fence or dma_buf.

Change-Id: Ic762185f1934c7dd0489a2dc8332d5bace29bae5
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
Signed-off-by: Hoegeun Kwon <hoegeun.kwon@samsung.com>
drivers/gpu/drm/tgm/tdm_pp.c

index 9239c0bc7e6c919222b2e3fdbabe3c583157827a..f0c3a5a7eb9b83db240fa1929f0acc51354ec016 100644 (file)
@@ -621,7 +621,7 @@ static int pp_put_mem_node(struct drm_device *drm_dev,
        }
 
 #ifdef CONFIG_DRM_DMA_SYNC
-       if (!IS_ERR(m_node->fence)) {
+       if (!IS_ERR_OR_NULL(m_node->fence)) {
                if (tdm_fence_signal(drm_dev, m_node->fence)) {
                        DRM_ERROR("tdm_fence_signal{%s]\n",
                                m_node->ops_id ? "dst" : "src");
@@ -977,7 +977,7 @@ static int pp_set_mem_node(struct tdm_ppdrv *ppdrv,
 #ifdef CONFIG_DRM_DMA_SYNC
        dma_buf = tbm_gem_get_dma_buf(ppdrv->drm_dev, ppdrv->dev,
                        m_node->buf_info.handles[0], c_node->filp);
-       if (!IS_ERR(dma_buf)) {
+       if (!IS_ERR_OR_NULL(dma_buf)) {
                m_node->fence = tdm_fence(ppdrv->drm_dev, dma_buf);
                if (IS_ERR(m_node->fence))
                        DRM_INFO("%s:failed to get fence[%s]\n", __func__,