diff options
author | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-08-04 09:28:25 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@infradead.org> | 2008-08-04 09:28:25 -0300 |
commit | e465ad8685774c7c9a2cf71e9d196b7aaa8cae35 (patch) | |
tree | b1f83dd9bf6f9447f4f1491b6974315b5bc99ee9 /linux/drivers/media/video/saa7134/saa7134-video.c | |
parent | 4be14b5602f1f21b6e2a436f240a12797888ae48 (diff) | |
parent | c8b5c505811fd4797e0ea35bcc60478d626a0971 (diff) | |
download | mediapointer-dvb-s2-e465ad8685774c7c9a2cf71e9d196b7aaa8cae35.tar.gz mediapointer-dvb-s2-e465ad8685774c7c9a2cf71e9d196b7aaa8cae35.tar.bz2 |
merge: http://www.linuxtv.org/hg/~hverkuil/v4l-dvb-bkl
From: Mauro Carvalho Chehab <mchehab@infradead.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
Diffstat (limited to 'linux/drivers/media/video/saa7134/saa7134-video.c')
-rw-r--r-- | linux/drivers/media/video/saa7134/saa7134-video.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/linux/drivers/media/video/saa7134/saa7134-video.c b/linux/drivers/media/video/saa7134/saa7134-video.c index 2b4d9c697..547c0401a 100644 --- a/linux/drivers/media/video/saa7134/saa7134-video.c +++ b/linux/drivers/media/video/saa7134/saa7134-video.c @@ -1330,6 +1330,8 @@ static int video_open(struct inode *inode, struct file *file) struct saa7134_fh *fh; enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; int radio = 0; + + lock_kernel(); list_for_each_entry(dev, &saa7134_devlist, devlist) { if (dev->video_dev && (dev->video_dev->minor == minor)) goto found; @@ -1342,6 +1344,7 @@ static int video_open(struct inode *inode, struct file *file) goto found; } } + unlock_kernel(); return -ENODEV; found: @@ -1350,8 +1353,10 @@ static int video_open(struct inode *inode, struct file *file) /* allocate + initialize per filehandle data */ fh = kzalloc(sizeof(*fh),GFP_KERNEL); - if (NULL == fh) + if (NULL == fh) { + unlock_kernel(); return -ENOMEM; + } file->private_data = fh; fh->dev = dev; fh->radio = radio; @@ -1384,6 +1389,7 @@ static int video_open(struct inode *inode, struct file *file) /* switch to video/vbi mode */ video_mux(dev,dev->ctl_input); } + unlock_kernel(); return 0; } |