drm/tgm: tdm_pp: fix not to call sync fence without fence/dma_buf 70/189070/1 accepted/tizen/5.0/unified/20181106.202246 accepted/tizen/unified/20180914.073317 submit/tizen/20180914.005930 submit/tizen_5.0/20181101.000009 submit/tizen_5.0/20181106.000001
authorSeung-Woo Kim <sw0312.kim@samsung.com>
Thu, 13 Sep 2018 07:09:04 +0000 (16:09 +0900)
committerSeung-Woo Kim <sw0312.kim@samsung.com>
Thu, 13 Sep 2018 07:09:10 +0000 (16: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: Ifb6f460a4bd3470c2a692f8b9b5d526a263f1e68
Signed-off-by: Seung-Woo Kim <sw0312.kim@samsung.com>
drivers/gpu/drm/tgm/tdm_pp.c

index d89af02d559f49bcabeffc70a63bf8fb017f435c..d6059de096e69a56ce48f369e4630f7f71c854cc 100644 (file)
@@ -573,7 +573,7 @@ static int pp_put_mem_node(struct drm_device *drm_dev,
 
 #ifdef CONFIG_DRM_DMA_SYNC
        if (m_node->ops_id == TDM_OPS_SRC) {
-               if (!IS_ERR(m_node->fence))
+               if (!IS_ERR_OR_NULL(m_node->fence))
                        tdm_fence_signal(drm_dev, m_node->fence);
        }
 #endif
@@ -879,7 +879,7 @@ static int pp_set_mem_node(struct tdm_ppdrv *ppdrv,
 
                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);
        }
 #endif