diff options
Diffstat (limited to 'drivers/media')
-rw-r--r-- | drivers/media/video/saa7134/saa7134-video.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/media/video/saa7134/saa7134-video.c b/drivers/media/video/saa7134/saa7134-video.c index 557530aef946..203302f21827 100644 --- a/drivers/media/video/saa7134/saa7134-video.c +++ b/drivers/media/video/saa7134/saa7134-video.c | |||
@@ -1820,15 +1820,18 @@ static int video_do_ioctl(struct inode *inode, struct file *file, | |||
1820 | break; | 1820 | break; |
1821 | if (i == TVNORMS) | 1821 | if (i == TVNORMS) |
1822 | return -EINVAL; | 1822 | return -EINVAL; |
1823 | if (*id & V4L2_STD_SECAM) { | 1823 | if ((*id & V4L2_STD_SECAM) && (secam[0] != '-')) { |
1824 | if (secam[0] == 'L' || secam[0] == 'l') | 1824 | if (secam[0] == 'L' || secam[0] == 'l') { |
1825 | if (secam[1] == 'C' || secam[1] == 'c') | 1825 | if (secam[1] == 'C' || secam[1] == 'c') |
1826 | fixup = V4L2_STD_SECAM_LC; | 1826 | fixup = V4L2_STD_SECAM_LC; |
1827 | else | 1827 | else |
1828 | fixup = V4L2_STD_SECAM_L; | 1828 | fixup = V4L2_STD_SECAM_L; |
1829 | else | 1829 | } else { |
1830 | if (secam[0] == 'D' || secam[0] == 'd') | 1830 | if (secam[0] == 'D' || secam[0] == 'd') |
1831 | fixup = V4L2_STD_SECAM_DK; | 1831 | fixup = V4L2_STD_SECAM_DK; |
1832 | else | ||
1833 | fixup = V4L2_STD_SECAM; | ||
1834 | } | ||
1832 | for (i = 0; i < TVNORMS; i++) | 1835 | for (i = 0; i < TVNORMS; i++) |
1833 | if (fixup == tvnorms[i].id) | 1836 | if (fixup == tvnorms[i].id) |
1834 | break; | 1837 | break; |