]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
media: bttv: start_streaming should return a proper error code
authorHans Verkuil <hverkuil-cisco@xs4all.nl>
Thu, 30 Nov 2023 12:58:10 +0000 (13:58 +0100)
committerMauro Carvalho Chehab <mchehab@kernel.org>
Sat, 9 Dec 2023 06:30:22 +0000 (07:30 +0100)
The start_streaming callback returned 0 or 1 instead of a
proper error code. Fix that.

Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: b7ec3212a73a ("media: bttv: convert to vb2")
Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
drivers/media/pci/bt8xx/bttv-driver.c
drivers/media/pci/bt8xx/bttv-vbi.c

index 09a193bb87df31f1849c968aafc2872fc92367e1..8e8c9dada67a4c394874d68bcc6985be3901e1a1 100644 (file)
@@ -1536,13 +1536,11 @@ static void buf_cleanup(struct vb2_buffer *vb)
 
 static int start_streaming(struct vb2_queue *q, unsigned int count)
 {
-       int ret = 1;
        int seqnr = 0;
        struct bttv_buffer *buf;
        struct bttv *btv = vb2_get_drv_priv(q);
 
-       ret = check_alloc_btres_lock(btv, RESOURCE_VIDEO_STREAM);
-       if (ret == 0) {
+       if (!check_alloc_btres_lock(btv, RESOURCE_VIDEO_STREAM)) {
                if (btv->field_count)
                        seqnr++;
                while (!list_empty(&btv->capture)) {
@@ -1553,7 +1551,7 @@ static int start_streaming(struct vb2_queue *q, unsigned int count)
                        vb2_buffer_done(&buf->vbuf.vb2_buf,
                                        VB2_BUF_STATE_QUEUED);
                }
-               return !ret;
+               return -EBUSY;
        }
        if (!vb2_is_streaming(&btv->vbiq)) {
                init_irqreg(btv);
index ab213e51ec95f1c8736695126ddb618af1d31d05..e489a3acb4b98afa17036c3a85514c40031f40e5 100644 (file)
@@ -123,14 +123,12 @@ static void buf_cleanup_vbi(struct vb2_buffer *vb)
 
 static int start_streaming_vbi(struct vb2_queue *q, unsigned int count)
 {
-       int ret;
        int seqnr = 0;
        struct bttv_buffer *buf;
        struct bttv *btv = vb2_get_drv_priv(q);
 
        btv->framedrop = 0;
-       ret = check_alloc_btres_lock(btv, RESOURCE_VBI);
-       if (ret == 0) {
+       if (!check_alloc_btres_lock(btv, RESOURCE_VBI)) {
                if (btv->field_count)
                        seqnr++;
                while (!list_empty(&btv->vcapture)) {
@@ -141,13 +139,13 @@ static int start_streaming_vbi(struct vb2_queue *q, unsigned int count)
                        vb2_buffer_done(&buf->vbuf.vb2_buf,
                                        VB2_BUF_STATE_QUEUED);
                }
-               return !ret;
+               return -EBUSY;
        }
        if (!vb2_is_streaming(&btv->capq)) {
                init_irqreg(btv);
                btv->field_count = 0;
        }
-       return !ret;
+       return 0;
 }
 
 static void stop_streaming_vbi(struct vb2_queue *q)