summaryrefslogtreecommitdiffstats
path: root/releases/2.6.32.58/hdpvr-fix-race-conditon-during-start-of-streaming.patch
diff options
context:
space:
mode:
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.patch37
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;
+ }