diff options
author | Hans Verkuil <hans.verkuil@cisco.com> | 2014-07-11 07:01:39 -0300 |
---|---|---|
committer | Mauro Carvalho Chehab <m.chehab@samsung.com> | 2014-07-17 18:29:42 -0300 |
commit | a7f404af8a435b940055a04be19a3304da93a76d (patch) | |
tree | f5f505e5dc74cf3210a8e9858044271d924aaa2a /drivers/media/v4l2-core/v4l2-ioctl.c | |
parent | ce71bbc91e2440a399f2f96b96cfbf263a6629c1 (diff) | |
download | linux-a7f404af8a435b940055a04be19a3304da93a76d.tar.gz linux-a7f404af8a435b940055a04be19a3304da93a76d.tar.bz2 linux-a7f404af8a435b940055a04be19a3304da93a76d.zip |
[media] v4l2-ioctl.c: fix enum_freq_bands handling
If the driver supports enum_freq_bands, but only for certain device
nodes, then it may return -ENOTTY. But in that case the code should
fall into the fall-back case where the current tuner/modulator range
is returned.
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <m.chehab@samsung.com>
Diffstat (limited to 'drivers/media/v4l2-core/v4l2-ioctl.c')
-rw-r--r-- | drivers/media/v4l2-core/v4l2-ioctl.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c b/drivers/media/v4l2-core/v4l2-ioctl.c index cd9e94c37808..aef588cf6d44 100644 --- a/drivers/media/v4l2-core/v4l2-ioctl.c +++ b/drivers/media/v4l2-core/v4l2-ioctl.c @@ -2042,8 +2042,11 @@ static int v4l_enum_freq_bands(const struct v4l2_ioctl_ops *ops, if (type != p->type) return -EINVAL; } - if (ops->vidioc_enum_freq_bands) - return ops->vidioc_enum_freq_bands(file, fh, p); + if (ops->vidioc_enum_freq_bands) { + err = ops->vidioc_enum_freq_bands(file, fh, p); + if (err != -ENOTTY) + return err; + } if (is_valid_ioctl(vfd, VIDIOC_G_TUNER)) { struct v4l2_tuner t = { .index = p->tuner, |