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

From: Eugen.Hristev
Date: Wed Feb 26 2020 - 10:02:55 EST


On 26.02.2020 16:59, Sakari Ailus wrote:

> 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.

Hi,

I thought about that as well, but considered to modify as little as
possible the original code.

Will send a v2.

Eugen

>
> --
> Regards,
>
> Sakari Ailus
>