diff options
author | Hans Verkuil <hverkuil@xs4all.nl> | 2008-12-19 07:10:56 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2008-12-30 06:39:26 -0500 |
commit | 806e5b7cfa96195baadc4cc4663266aaac92e22b (patch) | |
tree | 9f53edd254a2e6dcbb1f832dc164b1389db20e7f | |
parent | cfbd3072890e119639b97a133d84c13d25bba034 (diff) |
V4L/DVB (9942): v4l2-dev: check for parent device in get_index.
get_index requires a valid parent device in order to discover which
indices are in use. Some drivers (e.g. pvrusb2) do not set the parent
device. In that case just return 0.
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/video/v4l2-dev.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/media/video/v4l2-dev.c b/drivers/media/video/v4l2-dev.c index 682f48aadcac..c5ca51a9020a 100644 --- a/drivers/media/video/v4l2-dev.c +++ b/drivers/media/video/v4l2-dev.c | |||
@@ -162,6 +162,10 @@ static int get_index(struct video_device *vdev, int num) | |||
162 | return -EINVAL; | 162 | return -EINVAL; |
163 | } | 163 | } |
164 | 164 | ||
165 | /* Some drivers do not set the parent. In that case always return 0. */ | ||
166 | if (vdev->parent == NULL) | ||
167 | return 0; | ||
168 | |||
165 | for (i = 0; i < VIDEO_NUM_DEVICES; i++) { | 169 | for (i = 0; i < VIDEO_NUM_DEVICES; i++) { |
166 | if (video_device[i] != NULL && | 170 | if (video_device[i] != NULL && |
167 | video_device[i] != vdev && | 171 | video_device[i] != vdev && |