diff options
Diffstat (limited to 'releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch')
-rw-r--r-- | releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch b/releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch new file mode 100644 index 0000000..972db31 --- /dev/null +++ b/releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch @@ -0,0 +1,37 @@ +From afa159538af61f1a65d48927f4e949fe514fb4fc Mon Sep 17 00:00:00 2001 +From: Janne Grunau <j@jannau.net> +Date: Thu, 2 Feb 2012 13:35:21 -0300 +Subject: [media] hdpvr: fix race conditon during start of streaming + +From: Janne Grunau <j@jannau.net> + +commit afa159538af61f1a65d48927f4e949fe514fb4fc upstream. + +status has to be set to STREAMING before the streaming worker is +queued. hdpvr_transmit_buffers() will exit immediately otherwise. + +Reported-by: Joerg Desch <vvd.joede@googlemail.com> +Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com> +Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> + +--- + drivers/media/video/hdpvr/hdpvr-video.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/media/video/hdpvr/hdpvr-video.c ++++ b/drivers/media/video/hdpvr/hdpvr-video.c +@@ -279,12 +279,13 @@ static int hdpvr_start_streaming(struct + + hdpvr_config_call(dev, CTRL_START_STREAMING_VALUE, 0x00); + ++ dev->status = STATUS_STREAMING; ++ + INIT_WORK(&dev->worker, hdpvr_transmit_buffers); + queue_work(dev->workqueue, &dev->worker); + + v4l2_dbg(MSG_BUFFER, hdpvr_debug, &dev->v4l2_dev, + "streaming started\n"); +- dev->status = STATUS_STREAMING; + + return 0; + } |