]> git.baikalelectronics.ru Git - kernel.git/commitdiff
media: vivid: set num_in/outputs to 0 if not supported
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Mon, 17 Oct 2022 14:09:06 +0000 (15:09 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Tue, 25 Oct 2022 15:43:34 +0000 (16:43 +0100)
If node_types does not have video/vbi/meta inputs or outputs,
then set num_inputs/num_outputs to 0 instead of 1.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: b639d0b07eb0 (media: vivid: add vivid_create_queue() helper)
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/test-drivers/vivid/vivid-core.c

index 61d48fbc3d15dd53fd24bc2b824223682db3dc0f..f28440e6c9f891711fa9d0625c5f4042a87437c8 100644 (file)
@@ -942,8 +942,12 @@ static int vivid_detect_feature_set(struct vivid_dev *dev, int inst,
 
        /* how many inputs do we have and of what type? */
        dev->num_inputs = num_inputs[inst];
-       if (dev->num_inputs < 1)
-               dev->num_inputs = 1;
+       if (node_type & 0x20007) {
+               if (dev->num_inputs < 1)
+                       dev->num_inputs = 1;
+       } else {
+               dev->num_inputs = 0;
+       }
        if (dev->num_inputs >= MAX_INPUTS)
                dev->num_inputs = MAX_INPUTS;
        for (i = 0; i < dev->num_inputs; i++) {
@@ -960,8 +964,12 @@ static int vivid_detect_feature_set(struct vivid_dev *dev, int inst,
 
        /* how many outputs do we have and of what type? */
        dev->num_outputs = num_outputs[inst];
-       if (dev->num_outputs < 1)
-               dev->num_outputs = 1;
+       if (node_type & 0x40300) {
+               if (dev->num_outputs < 1)
+                       dev->num_outputs = 1;
+       } else {
+               dev->num_outputs = 0;
+       }
        if (dev->num_outputs >= MAX_OUTPUTS)
                dev->num_outputs = MAX_OUTPUTS;
        for (i = 0; i < dev->num_outputs; i++) {