diff options
Diffstat (limited to 'drivers/media/video/saa7134/saa7134-video.c')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-video.c | 22 |
1 files changed, 10 insertions, 12 deletions
diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c index 7c97ac15e66..471b92793c1 100644 --- a/drivers/media/video/saa7134/saa7134-video.c +++ b/drivers/media/video/saa7134/saa7134-video.c | |||
@@ -1285,26 +1285,24 @@ static int saa7134_resource(struct saa7134_fh *fh) | |||
1285 | static int video_open(struct inode *inode, struct file *file) | 1285 | static int video_open(struct inode *inode, struct file *file) |
1286 | { | 1286 | { |
1287 | int minor = iminor(inode); | 1287 | int minor = iminor(inode); |
1288 | struct saa7134_dev *h,*dev = NULL; | 1288 | struct saa7134_dev *dev; |
1289 | struct saa7134_fh *fh; | 1289 | struct saa7134_fh *fh; |
1290 | struct list_head *list; | ||
1291 | enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; | 1290 | enum v4l2_buf_type type = V4L2_BUF_TYPE_VIDEO_CAPTURE; |
1292 | int radio = 0; | 1291 | int radio = 0; |
1293 | list_for_each(list,&saa7134_devlist) { | 1292 | list_for_each_entry(dev, &saa7134_devlist, devlist) { |
1294 | h = list_entry(list, struct saa7134_dev, devlist); | 1293 | if (dev->video_dev && (dev->video_dev->minor == minor)) |
1295 | if (h->video_dev && (h->video_dev->minor == minor)) | 1294 | goto found; |
1296 | dev = h; | 1295 | if (dev->radio_dev && (dev->radio_dev->minor == minor)) { |
1297 | if (h->radio_dev && (h->radio_dev->minor == minor)) { | ||
1298 | radio = 1; | 1296 | radio = 1; |
1299 | dev = h; | 1297 | goto found; |
1300 | } | 1298 | } |
1301 | if (h->vbi_dev && (h->vbi_dev->minor == minor)) { | 1299 | if (dev->vbi_dev && (dev->vbi_dev->minor == minor)) { |
1302 | type = V4L2_BUF_TYPE_VBI_CAPTURE; | 1300 | type = V4L2_BUF_TYPE_VBI_CAPTURE; |
1303 | dev = h; | 1301 | goto found; |
1304 | } | 1302 | } |
1305 | } | 1303 | } |
1306 | if (NULL == dev) | 1304 | return -ENODEV; |
1307 | return -ENODEV; | 1305 | found: |
1308 | 1306 | ||
1309 | dprintk("open minor=%d radio=%d type=%s\n",minor,radio, | 1307 | dprintk("open minor=%d radio=%d type=%s\n",minor,radio, |
1310 | v4l2_type_names[type]); | 1308 | v4l2_type_names[type]); |