diff options
| author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-11-15 21:09:30 -0500 |
|---|---|---|
| committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2007-12-12 05:21:37 -0500 |
| commit | 19fb1457990b6b7e15586ec7331541a184233acc (patch) | |
| tree | c6eb09725bb0a7734e79f99f953c2c59a0f159fd | |
| parent | 4af75653031c6d454b4ace47c1536f0d2e727e3e (diff) | |
V4L/DVB (6609): Re-adds lock safe videobuf_read_start
videobuf_dvb needs videobuf_read_start. The EXPORT_SYMBOL_GPL() were removed by
a previous patch. However, videobuf_dvb needs this.
This patch re-adds videobuf_read_start, doing the proper lock.
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
| -rw-r--r-- | drivers/media/video/videobuf-core.c | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/drivers/media/video/videobuf-core.c b/drivers/media/video/videobuf-core.c index de2f56b19163..81f77d2b4bd3 100644 --- a/drivers/media/video/videobuf-core.c +++ b/drivers/media/video/videobuf-core.c | |||
| @@ -806,7 +806,7 @@ ssize_t videobuf_read_one(struct videobuf_queue *q, | |||
| 806 | } | 806 | } |
| 807 | 807 | ||
| 808 | /* Locking: Caller holds q->lock */ | 808 | /* Locking: Caller holds q->lock */ |
| 809 | int videobuf_read_start(struct videobuf_queue *q) | 809 | int __videobuf_read_start(struct videobuf_queue *q) |
| 810 | { | 810 | { |
| 811 | enum v4l2_field field; | 811 | enum v4l2_field field; |
| 812 | unsigned long flags=0; | 812 | unsigned long flags=0; |
| @@ -862,6 +862,17 @@ static void __videobuf_read_stop(struct videobuf_queue *q) | |||
| 862 | 862 | ||
| 863 | } | 863 | } |
| 864 | 864 | ||
| 865 | int videobuf_read_start(struct videobuf_queue *q) | ||
| 866 | { | ||
| 867 | int rc; | ||
| 868 | |||
| 869 | mutex_lock(&q->lock); | ||
| 870 | rc = __videobuf_read_start(q); | ||
| 871 | mutex_unlock(&q->lock); | ||
| 872 | |||
| 873 | return rc; | ||
| 874 | } | ||
| 875 | |||
| 865 | void videobuf_read_stop(struct videobuf_queue *q) | 876 | void videobuf_read_stop(struct videobuf_queue *q) |
| 866 | { | 877 | { |
| 867 | mutex_lock(&q->lock); | 878 | mutex_lock(&q->lock); |
| @@ -1058,6 +1069,7 @@ EXPORT_SYMBOL_GPL(videobuf_dqbuf); | |||
| 1058 | EXPORT_SYMBOL_GPL(videobuf_streamon); | 1069 | EXPORT_SYMBOL_GPL(videobuf_streamon); |
| 1059 | EXPORT_SYMBOL_GPL(videobuf_streamoff); | 1070 | EXPORT_SYMBOL_GPL(videobuf_streamoff); |
| 1060 | 1071 | ||
| 1072 | EXPORT_SYMBOL_GPL(videobuf_read_start); | ||
| 1061 | EXPORT_SYMBOL_GPL(videobuf_read_stop); | 1073 | EXPORT_SYMBOL_GPL(videobuf_read_stop); |
| 1062 | EXPORT_SYMBOL_GPL(videobuf_stop); | 1074 | EXPORT_SYMBOL_GPL(videobuf_stop); |
| 1063 | EXPORT_SYMBOL_GPL(videobuf_read_stream); | 1075 | EXPORT_SYMBOL_GPL(videobuf_read_stream); |
