Re: [RFCv4 PATCH 2/6] ivtv: only start streaming in poll() ifpolling for input.

From: Andy Walls
Date: Sun Oct 02 2011 - 08:11:39 EST


On Thu, 2011-09-29 at 09:44 +0200, Hans Verkuil wrote:
> From: Hans Verkuil <hans.verkuil@xxxxxxxxx>
>
> Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>

FWIW:

Acked-by: Andy Walls <awalls@xxxxxxxxxxxxxxxx>

-Andy


> ---
> drivers/media/video/ivtv/ivtv-fileops.c | 6 ++++--
> 1 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/media/video/ivtv/ivtv-fileops.c b/drivers/media/video/ivtv/ivtv-fileops.c
> index 38f0522..a931ecf 100644
> --- a/drivers/media/video/ivtv/ivtv-fileops.c
> +++ b/drivers/media/video/ivtv/ivtv-fileops.c
> @@ -744,8 +744,9 @@ unsigned int ivtv_v4l2_dec_poll(struct file *filp, poll_table *wait)
> return res;
> }
>
> -unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait)
> +unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table *wait)
> {
> + unsigned long req_events = poll_requested_events(wait);
> struct ivtv_open_id *id = fh2id(filp->private_data);
> struct ivtv *itv = id->itv;
> struct ivtv_stream *s = &itv->streams[id->type];
> @@ -753,7 +754,8 @@ unsigned int ivtv_v4l2_enc_poll(struct file *filp, poll_table * wait)
> unsigned res = 0;
>
> /* Start a capture if there is none */
> - if (!eof && !test_bit(IVTV_F_S_STREAMING, &s->s_flags)) {
> + if (!eof && !test_bit(IVTV_F_S_STREAMING, &s->s_flags) &&
> + (req_events & (POLLIN | POLLRDNORM))) {
> int rc;
>
> mutex_lock(&itv->serialize_lock);


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/