From 35ba6f943bd5c826a37a1976164ca98aa77d95f0 Mon Sep 17 00:00:00 2001 From: Andy Walls Date: Sat, 30 Jan 2010 16:20:27 -0300 Subject: [PATCH] --- yaml --- r: 181615 b: refs/heads/master c: 6adb21c8719feef3b1629f5a9b5535e914f897ed h: refs/heads/master i: 181613: fb362158edd56bac4363d5cc4c9437d49e62012d 181611: 1f7443736cc867c7a7e8c82f586730e3bbcffe7d 181607: 471c2cd3e6b7e585acbdd53614885cf8cb04b646 181599: ac6cf28e176893151d8fc1f2d88bad66377ff8c1 v: v3 --- [refs] | 2 +- trunk/drivers/media/video/cx18/cx18-dvb.c | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f9c3935fe503..0dd79c0dc2a0 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: b3b6dc620626eda13d7c1330cf3733862fe29420 +refs/heads/master: 6adb21c8719feef3b1629f5a9b5535e914f897ed diff --git a/trunk/drivers/media/video/cx18/cx18-dvb.c b/trunk/drivers/media/video/cx18/cx18-dvb.c index 0ad5b63d27fe..0ae2c2e1eab5 100644 --- a/trunk/drivers/media/video/cx18/cx18-dvb.c +++ b/trunk/drivers/media/video/cx18/cx18-dvb.c @@ -260,6 +260,7 @@ static int cx18_dvb_start_feed(struct dvb_demux_feed *feed) mutex_lock(&stream->dvb.feedlock); if (stream->dvb.feeding++ == 0) { CX18_DEBUG_INFO("Starting Transport DMA\n"); + mutex_lock(&cx->serialize_lock); set_bit(CX18_F_S_STREAMING, &stream->s_flags); ret = cx18_start_v4l2_encode_stream(stream); if (ret < 0) { @@ -268,6 +269,7 @@ static int cx18_dvb_start_feed(struct dvb_demux_feed *feed) if (stream->dvb.feeding == 0) clear_bit(CX18_F_S_STREAMING, &stream->s_flags); } + mutex_unlock(&cx->serialize_lock); } else ret = 0; mutex_unlock(&stream->dvb.feedlock); @@ -291,7 +293,9 @@ static int cx18_dvb_stop_feed(struct dvb_demux_feed *feed) mutex_lock(&stream->dvb.feedlock); if (--stream->dvb.feeding == 0) { CX18_DEBUG_INFO("Stopping Transport DMA\n"); + mutex_lock(&cx->serialize_lock); ret = cx18_stop_v4l2_encode_stream(stream, 0); + mutex_unlock(&cx->serialize_lock); } else ret = 0; mutex_unlock(&stream->dvb.feedlock);