linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev
@ 2020-02-26 12:15 Eugen Hristev
  2020-02-26 14:59 ` Sakari Ailus
  0 siblings, 1 reply; 3+ messages in thread
From: Eugen Hristev @ 2020-02-26 12:15 UTC (permalink / raw)
  To: linux-media, hverkuil, laurent.pinchart, linux-kernel; +Cc: Eugen Hristev

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@microchip.com>
---
 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);
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev
  2020-02-26 12:15 [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev Eugen Hristev
@ 2020-02-26 14:59 ` Sakari Ailus
  2020-02-26 15:02   ` Eugen.Hristev
  0 siblings, 1 reply; 3+ messages in thread
From: Sakari Ailus @ 2020-02-26 14:59 UTC (permalink / raw)
  To: Eugen Hristev; +Cc: linux-media, hverkuil, laurent.pinchart, linux-kernel

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@microchip.com>
> ---
>  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

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev
  2020-02-26 14:59 ` Sakari Ailus
@ 2020-02-26 15:02   ` Eugen.Hristev
  0 siblings, 0 replies; 3+ messages in thread
From: Eugen.Hristev @ 2020-02-26 15:02 UTC (permalink / raw)
  To: sakari.ailus; +Cc: linux-media, hverkuil, laurent.pinchart, linux-kernel

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@microchip.com>
>> ---
>>   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
> 


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-02-26 15:02 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-26 12:15 [PATCH] media: v4l2-core: fix entity initialization in device_register_subdev Eugen Hristev
2020-02-26 14:59 ` Sakari Ailus
2020-02-26 15:02   ` Eugen.Hristev

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).