Re: [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev

From: Sakari Ailus
Date: Wed Feb 26 2020 - 10:00:15 EST


Hi Eugen,

On Wed, Feb 26, 2020 at 02:15:45PM +0200, Eugen Hristev wrote:
> The check for parameters is done below in the function.
> Initialize the entity variable properly, after the parameters
> have been checked.
>
> Fixes: 61f5db549dde ("[media] v4l: Make v4l2_subdev inherit from media_entity")
> Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> ---
> drivers/media/v4l2-core/v4l2-device.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/media/v4l2-core/v4l2-device.c b/drivers/media/v4l2-core/v4l2-device.c
> index 63d6b147b21e..6e33132ebb19 100644
> --- a/drivers/media/v4l2-core/v4l2-device.c
> +++ b/drivers/media/v4l2-core/v4l2-device.c
> @@ -112,7 +112,7 @@ int v4l2_device_register_subdev(struct v4l2_device *v4l2_dev,
> struct v4l2_subdev *sd)
> {
> #if defined(CONFIG_MEDIA_CONTROLLER)
> - struct media_entity *entity = &sd->entity;
> + struct media_entity *entity;
> #endif
> int err;
>
> @@ -141,6 +141,7 @@ int v4l2_device_register_subdev(struct v4l2_device *v4l2_dev,
> goto error_module;
>
> #if defined(CONFIG_MEDIA_CONTROLLER)
> + entity = &sd->entity;
> /* Register the entity. */
> if (v4l2_dev->mdev) {
> err = media_device_register_entity(v4l2_dev->mdev, entity);

Thanks for the patch.

Instead of keeping a shorthand for entity locally, I'd just refer to
&sd->entity. It's more simple, and gets away with one pair of #if / #endif
as well.

--
Regards,

Sakari Ailus