Message ID | 20200226121545.19880-1-eugen.hristev@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | media: v4l2-core: fix entity initialization in device_register_subdev | expand |
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.
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 >
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);
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(-)