Message ID | 20191118061806.52781-1-pihsun@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/mediatek: Check return value of mtk_drm_ddp_comp_for_plane. | expand |
Hi, Pi-Hsun: On Mon, 2019-11-18 at 14:18 +0800, Pi-Hsun Shih wrote: > The mtk_drm_ddp_comp_for_plane can return NULL, but the usage doesn't > check for it. Add check for it. Reviewed-by: CK Hu <ck.hu@mediatek.com> > > Fixes: d6b53f68356f ("drm/mediatek: Add helper to get component for a plane") > Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org> > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 13 +++++++++---- > 1 file changed, 9 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > index f80a8ba75977..4c4f976c994e 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -310,7 +310,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc) > > plane_state = to_mtk_plane_state(plane->state); > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); > - mtk_ddp_comp_layer_config(comp, local_layer, plane_state); > + if (comp) > + mtk_ddp_comp_layer_config(comp, local_layer, > + plane_state); > } > > return 0; > @@ -386,8 +388,9 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc) > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, > &local_layer); > > - mtk_ddp_comp_layer_config(comp, local_layer, > - plane_state); > + if (comp) > + mtk_ddp_comp_layer_config(comp, local_layer, > + plane_state); > plane_state->pending.config = false; > } > mtk_crtc->pending_planes = false; > @@ -401,7 +404,9 @@ int mtk_drm_crtc_plane_check(struct drm_crtc *crtc, struct drm_plane *plane, > struct mtk_ddp_comp *comp; > > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); > - return mtk_ddp_comp_layer_check(comp, local_layer, state); > + if (comp) > + return mtk_ddp_comp_layer_check(comp, local_layer, state); > + return 0; > } > > static void mtk_drm_crtc_atomic_enable(struct drm_crtc *crtc, > > base-commit: 5a6fcbeabe3e20459ed8504690b2515dacc5246f
Hi, Pi-Hsun: On Fri, 2019-11-22 at 15:58 +0800, CK Hu wrote: > Hi, Pi-Hsun: > > On Mon, 2019-11-18 at 14:18 +0800, Pi-Hsun Shih wrote: > > The mtk_drm_ddp_comp_for_plane can return NULL, but the usage doesn't > > check for it. Add check for it. > > Reviewed-by: CK Hu <ck.hu@mediatek.com> > Applied to mediatek-drm-fixes-5.5 [1], thanks. [1] https://github.com/ckhu-mediatek/linux.git-tags/commits/mediatek-drm-fixes-5.5 Regards, CK > > > > Fixes: d6b53f68356f ("drm/mediatek: Add helper to get component for a plane") > > Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org> > > --- > > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 13 +++++++++---- > > 1 file changed, 9 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > index f80a8ba75977..4c4f976c994e 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > > @@ -310,7 +310,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc) > > > > plane_state = to_mtk_plane_state(plane->state); > > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); > > - mtk_ddp_comp_layer_config(comp, local_layer, plane_state); > > + if (comp) > > + mtk_ddp_comp_layer_config(comp, local_layer, > > + plane_state); > > } > > > > return 0; > > @@ -386,8 +388,9 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc) > > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, > > &local_layer); > > > > - mtk_ddp_comp_layer_config(comp, local_layer, > > - plane_state); > > + if (comp) > > + mtk_ddp_comp_layer_config(comp, local_layer, > > + plane_state); > > plane_state->pending.config = false; > > } > > mtk_crtc->pending_planes = false; > > @@ -401,7 +404,9 @@ int mtk_drm_crtc_plane_check(struct drm_crtc *crtc, struct drm_plane *plane, > > struct mtk_ddp_comp *comp; > > > > comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); > > - return mtk_ddp_comp_layer_check(comp, local_layer, state); > > + if (comp) > > + return mtk_ddp_comp_layer_check(comp, local_layer, state); > > + return 0; > > } > > > > static void mtk_drm_crtc_atomic_enable(struct drm_crtc *crtc, > > > > base-commit: 5a6fcbeabe3e20459ed8504690b2515dacc5246f >
diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c index f80a8ba75977..4c4f976c994e 100644 --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c @@ -310,7 +310,9 @@ static int mtk_crtc_ddp_hw_init(struct mtk_drm_crtc *mtk_crtc) plane_state = to_mtk_plane_state(plane->state); comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); - mtk_ddp_comp_layer_config(comp, local_layer, plane_state); + if (comp) + mtk_ddp_comp_layer_config(comp, local_layer, + plane_state); } return 0; @@ -386,8 +388,9 @@ static void mtk_crtc_ddp_config(struct drm_crtc *crtc) comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); - mtk_ddp_comp_layer_config(comp, local_layer, - plane_state); + if (comp) + mtk_ddp_comp_layer_config(comp, local_layer, + plane_state); plane_state->pending.config = false; } mtk_crtc->pending_planes = false; @@ -401,7 +404,9 @@ int mtk_drm_crtc_plane_check(struct drm_crtc *crtc, struct drm_plane *plane, struct mtk_ddp_comp *comp; comp = mtk_drm_ddp_comp_for_plane(crtc, plane, &local_layer); - return mtk_ddp_comp_layer_check(comp, local_layer, state); + if (comp) + return mtk_ddp_comp_layer_check(comp, local_layer, state); + return 0; } static void mtk_drm_crtc_atomic_enable(struct drm_crtc *crtc,
The mtk_drm_ddp_comp_for_plane can return NULL, but the usage doesn't check for it. Add check for it. Fixes: d6b53f68356f ("drm/mediatek: Add helper to get component for a plane") Signed-off-by: Pi-Hsun Shih <pihsun@chromium.org> --- drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) base-commit: 5a6fcbeabe3e20459ed8504690b2515dacc5246f