summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-context.c11
-rw-r--r--drivers/media/video/pvrusb2/pvrusb2-context.h2
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/media/video/pvrusb2/pvrusb2-context.c b/drivers/media/video/pvrusb2/pvrusb2-context.c
index cf129746205..69786cdaa85 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-context.c
+++ b/drivers/media/video/pvrusb2/pvrusb2-context.c
@@ -188,6 +188,17 @@ void pvr2_channel_done(struct pvr2_channel *cp)
}
+int pvr2_channel_check_stream_no_lock(struct pvr2_channel *cp,
+ struct pvr2_context_stream *sp)
+{
+ if (sp == cp->stream) return 0;
+ if (sp->user) {
+ return -EBUSY;
+ }
+ return 0;
+}
+
+
int pvr2_channel_claim_stream(struct pvr2_channel *cp,
struct pvr2_context_stream *sp)
{
diff --git a/drivers/media/video/pvrusb2/pvrusb2-context.h b/drivers/media/video/pvrusb2/pvrusb2-context.h
index 6327fa1f7e4..4d0f4ad6412 100644
--- a/drivers/media/video/pvrusb2/pvrusb2-context.h
+++ b/drivers/media/video/pvrusb2/pvrusb2-context.h
@@ -76,6 +76,8 @@ void pvr2_channel_init(struct pvr2_channel *,struct pvr2_context *);
void pvr2_channel_done(struct pvr2_channel *);
int pvr2_channel_claim_stream(struct pvr2_channel *,
struct pvr2_context_stream *);
+int pvr2_channel_check_stream_no_lock(struct pvr2_channel *,
+ struct pvr2_context_stream *);
struct pvr2_ioread *pvr2_channel_create_mpeg_stream(
struct pvr2_context_stream *);