Re: [PATCH] drm/mediatek: check for comp->funcs

From: CK Hu
Date: Fri Jan 10 2020 - 01:20:02 EST


Hi, Hsin-yi:

On Thu, 2020-01-09 at 15:29 +0800, Hsin-Yi Wang wrote:
> There might be some comp that doesn't have funcs, eg. hdmi-connector.
> Check for comp->funcs otherwise there will be NULL pointer dereference
> crash.
>
> Fixes: bd3de8cd782b ("drm/mediatek: Add gamma property according to hardware capability")
> Fixes: 7395eab077f9 ("drm/mediatek: Add ctm property support")

Because the fixed patches are still in my tree, so I merge this patch
with the fixed patches in mediatek-drm-next-5.6 [1].

[1]
https://github.com/ckhu-mediatek/linux.git-tags/commits/mediatek-drm-next-5.6

Regards,
CK

> Signed-off-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
> ---
> This patch is based on mediatek's drm branch:
> https://github.com/ckhu-mediatek/linux.git-tags/commits/mediatek-drm-next-5.6
>
> After
> https://patchwork.freedesktop.org/patch/344477/?series=63328&rev=59,
> there will also be funcs for hdmi-connector.
> ---
> drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 10 ++++++----
> 1 file changed, 6 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> index fb142fcfc353..7b392d6c71cc 100644
> --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c
> @@ -808,11 +808,13 @@ int mtk_drm_crtc_create(struct drm_device *drm_dev,
>
> mtk_crtc->ddp_comp[i] = comp;
>
> - if (comp->funcs->ctm_set)
> - has_ctm = true;
> + if (comp->funcs) {
> + if (comp->funcs->ctm_set)
> + has_ctm = true;
>
> - if (comp->funcs->gamma_set)
> - gamma_lut_size = MTK_LUT_SIZE;
> + if (comp->funcs->gamma_set)
> + gamma_lut_size = MTK_LUT_SIZE;
> + }
> }
>
> for (i = 0; i < mtk_crtc->ddp_comp_nr; i++)