linux-media.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] media: vivid: fix device init when no_error_inj=1 and fb disabled
@ 2019-07-24 15:19 Guillaume Tucker
  2019-07-25  8:01 ` Hans Verkuil
  0 siblings, 1 reply; 2+ messages in thread
From: Guillaume Tucker @ 2019-07-24 15:19 UTC (permalink / raw)
  To: Hans Verkuil, Mauro Carvalho Chehab
  Cc: linux-media, linux-kernel, kernel, Guillaume Tucker, stable

Add an extra condition to add the video output control class when the
device has some hdmi outputs defined.  This is required to then always
be able to add the display present control, which is enabled when
there are some hdmi outputs.

This fixes the corner case where no_error_inj is enabled and the
device has no frame buffer but some hdmi outputs, as otherwise the
video output control class would be added anyway.  Without this fix,
the sanity checks fail in v4l2_ctrl_new() as name is NULL.

Fixes: c533435ffb91 ("media: vivid: add display present control")
Cc: stable@vger.kernel.org
Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---
 drivers/media/platform/vivid/vivid-ctrls.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
index 3e916c8befb7..7a52f585cab7 100644
--- a/drivers/media/platform/vivid/vivid-ctrls.c
+++ b/drivers/media/platform/vivid/vivid-ctrls.c
@@ -1473,7 +1473,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap,
 	v4l2_ctrl_handler_init(hdl_vid_cap, 55);
 	v4l2_ctrl_new_custom(hdl_vid_cap, &vivid_ctrl_class, NULL);
 	v4l2_ctrl_handler_init(hdl_vid_out, 26);
-	if (!no_error_inj || dev->has_fb)
+	if (!no_error_inj || dev->has_fb || dev->num_hdmi_outputs)
 		v4l2_ctrl_new_custom(hdl_vid_out, &vivid_ctrl_class, NULL);
 	v4l2_ctrl_handler_init(hdl_vbi_cap, 21);
 	v4l2_ctrl_new_custom(hdl_vbi_cap, &vivid_ctrl_class, NULL);
-- 
2.20.1


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

* Re: [PATCH] media: vivid: fix device init when no_error_inj=1 and fb disabled
  2019-07-24 15:19 [PATCH] media: vivid: fix device init when no_error_inj=1 and fb disabled Guillaume Tucker
@ 2019-07-25  8:01 ` Hans Verkuil
  0 siblings, 0 replies; 2+ messages in thread
From: Hans Verkuil @ 2019-07-25  8:01 UTC (permalink / raw)
  To: Guillaume Tucker, Hans Verkuil, Mauro Carvalho Chehab
  Cc: linux-media, linux-kernel, kernel, stable

On 7/24/19 5:19 PM, Guillaume Tucker wrote:
> Add an extra condition to add the video output control class when the
> device has some hdmi outputs defined.  This is required to then always
> be able to add the display present control, which is enabled when
> there are some hdmi outputs.
> 
> This fixes the corner case where no_error_inj is enabled and the
> device has no frame buffer but some hdmi outputs, as otherwise the
> video output control class would be added anyway.  Without this fix,
> the sanity checks fail in v4l2_ctrl_new() as name is NULL.

Good catch.

Note that you can just drop the no_error_inj module option: v4l2-compliance
will detect the vivid driver and skip the error controls while testing.

I stopped using no_error_inj since I made that v4l2-compliance change.

Regards,

	Hans

> 
> Fixes: c533435ffb91 ("media: vivid: add display present control")
> Cc: stable@vger.kernel.org
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> ---
>  drivers/media/platform/vivid/vivid-ctrls.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/media/platform/vivid/vivid-ctrls.c b/drivers/media/platform/vivid/vivid-ctrls.c
> index 3e916c8befb7..7a52f585cab7 100644
> --- a/drivers/media/platform/vivid/vivid-ctrls.c
> +++ b/drivers/media/platform/vivid/vivid-ctrls.c
> @@ -1473,7 +1473,7 @@ int vivid_create_controls(struct vivid_dev *dev, bool show_ccs_cap,
>  	v4l2_ctrl_handler_init(hdl_vid_cap, 55);
>  	v4l2_ctrl_new_custom(hdl_vid_cap, &vivid_ctrl_class, NULL);
>  	v4l2_ctrl_handler_init(hdl_vid_out, 26);
> -	if (!no_error_inj || dev->has_fb)
> +	if (!no_error_inj || dev->has_fb || dev->num_hdmi_outputs)
>  		v4l2_ctrl_new_custom(hdl_vid_out, &vivid_ctrl_class, NULL);
>  	v4l2_ctrl_handler_init(hdl_vbi_cap, 21);
>  	v4l2_ctrl_new_custom(hdl_vbi_cap, &vivid_ctrl_class, NULL);
> 


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

end of thread, other threads:[~2019-07-25  8:01 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-07-24 15:19 [PATCH] media: vivid: fix device init when no_error_inj=1 and fb disabled Guillaume Tucker
2019-07-25  8:01 ` Hans Verkuil

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