upstream: [media] saa6588: after calling CMD_CLOSE, CMD_POLL is broken
authorHans Verkuil <hans.verkuil@cisco.com>
Sat, 14 Dec 2013 11:28:34 +0000 (08:28 -0300)
committerChanho Park <chanho61.park@samsung.com>
Tue, 18 Nov 2014 02:58:45 +0000 (11:58 +0900)
CMD_CLOSE sets data_available_for_read to 1, which is necessary to do the
wakeup call, but it is never reset to 0.

Because of this calling CMD_POLL afterwards will always return that data is
available, even if there isn't any.

Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
drivers/media/i2c/saa6588.c

index 815c71b..2960b5a 100644 (file)
@@ -404,6 +404,7 @@ static long saa6588_ioctl(struct v4l2_subdev *sd, unsigned int cmd, void *arg)
        case SAA6588_CMD_CLOSE:
                s->data_available_for_read = 1;
                wake_up_interruptible(&s->read_queue);
+               s->data_available_for_read = 0;
                a->result = 0;
                break;
                /* --- read() for /dev/radio --- */