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: sta...@vger.kernel.org
> Signed-off-by: Guillaume Tucker <guillaume.tuc...@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);
> 

Reply via email to