Commit 0d75bb6a authored by Hans Verkuil's avatar Hans Verkuil Committed by Mauro Carvalho Chehab
Browse files

media: bttv: start_streaming should return a proper error code



The start_streaming callback returned 0 or 1 instead of a
proper error code. Fix that.

Signed-off-by: default avatarHans Verkuil <hverkuil-cisco@xs4all.nl>
Fixes: b7ec3212 ("media: bttv: convert to vb2")
Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@kernel.org>
parent e55a9482
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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);
+3 −5
Original line number Diff line number Diff line
@@ -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)