Message ID | 20200109072900.17988-1-hsinyi@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/mediatek: check for comp->funcs | expand |
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@chromium.org> > --- > 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++)
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++)
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") Signed-off-by: Hsin-Yi Wang <hsinyi@chromium.org> --- 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(-)