Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 25169
b: refs/heads/master
c: 5e85bd0
h: refs/heads/master
i:
  25167: 8d302c0
v: v3
  • Loading branch information
Trent Piepho authored and Mauro Carvalho Chehab committed Apr 2, 2006
1 parent 31289f0 commit 92d0f2f
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 2f03ee8e6bd7c6f40a1a0583662308e002d357da
refs/heads/master: 5e85bd057f0cb29881e3d55d29f48bb55bd2f450
12 changes: 9 additions & 3 deletions trunk/drivers/media/dvb/dvb-core/dmxdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,12 +141,18 @@ static int dvb_dvr_open(struct inode *inode, struct file *file)
}

if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
void *mem = vmalloc(DVR_BUFFER_SIZE);
void *mem;
if (!dvbdev->readers) {
mutex_unlock(&dmxdev->mutex);
return -EBUSY;
}
mem = vmalloc(DVR_BUFFER_SIZE);
if (!mem) {
mutex_unlock(&dmxdev->mutex);
return -ENOMEM;
}
dvb_ringbuffer_init(&dmxdev->dvr_buffer, mem, DVR_BUFFER_SIZE);
dvbdev->readers--;
}

if ((file->f_flags & O_ACCMODE) == O_WRONLY) {
Expand Down Expand Up @@ -184,6 +190,7 @@ static int dvb_dvr_release(struct inode *inode, struct file *file)
dmxdev->dvr_orig_fe);
}
if ((file->f_flags & O_ACCMODE) == O_RDONLY) {
dvbdev->readers++;
if (dmxdev->dvr_buffer.data) {
void *mem = dmxdev->dvr_buffer.data;
mb();
Expand Down Expand Up @@ -1029,8 +1036,7 @@ static struct file_operations dvb_dvr_fops = {

static struct dvb_device dvbdev_dvr = {
.priv = NULL,
.users = 1,
.writers = 1,
.readers = 1,
.fops = &dvb_dvr_fops
};

Expand Down

0 comments on commit 92d0f2f

Please sign in to comment.