Hi Laurent, Le vendredi 04 mars 2022 à 19:19 +0200, Laurent Pinchart a écrit : > The media_entity embedded in the video_device needs to be initialized > before registering the video_device. Do so. We've seen the same bug in MTK vcodec topology. Any idea if that could be catch this at lower level to prevent invalid path being populated in the media controller over and over ? > > Signed-off-by: Laurent Pinchart <laurent.pinchart@xxxxxxxxxxxxxxxx> > Reviewed-by: Dafna Hirschfeld <dafna@xxxxxxxxxxxx> > --- > .../platform/rockchip/rkisp1/rkisp1-capture.c | 17 ++++++++++------- > 1 file changed, 10 insertions(+), 7 deletions(-) > > diff --git a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > index c95c00a91180..9c11f2b8e5f5 100644 > --- a/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > +++ b/drivers/media/platform/rockchip/rkisp1/rkisp1-capture.c > @@ -1372,22 +1372,25 @@ static int rkisp1_register_capture(struct rkisp1_capture *cap) > > vdev->queue = q; > > + ret = media_entity_pads_init(&vdev->entity, 1, &node->pad); > + if (ret) > + return ret; > + > ret = video_register_device(vdev, VFL_TYPE_VIDEO, -1); > if (ret) { > dev_err(cap->rkisp1->dev, > "failed to register %s, ret=%d\n", vdev->name, ret); > - return ret; > + goto error; > } > + > v4l2_info(v4l2_dev, "registered %s as /dev/video%d\n", vdev->name, > vdev->num); > > - ret = media_entity_pads_init(&vdev->entity, 1, &node->pad); > - if (ret) { > - video_unregister_device(vdev); > - return ret; > - } > - > return 0; > + > +error: > + media_entity_cleanup(&vdev->entity); > + return ret; > } > > static void