diff options
-rw-r--r-- | drivers/media/video/saa7115.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/media/video/saa7115.c b/drivers/media/video/saa7115.c index 3e4e5584c5d0..5d33d0922e79 100644 --- a/drivers/media/video/saa7115.c +++ b/drivers/media/video/saa7115.c | |||
@@ -668,6 +668,16 @@ static void saa7115_set_v4lstd(struct i2c_client *client, v4l2_std_id std) | |||
668 | struct saa7115_state *state = i2c_get_clientdata(client); | 668 | struct saa7115_state *state = i2c_get_clientdata(client); |
669 | int taskb = saa7115_read(client, 0x80) & 0x10; | 669 | int taskb = saa7115_read(client, 0x80) & 0x10; |
670 | 670 | ||
671 | /* Prevent unnecessary standard changes. During a standard | ||
672 | change the I-Port is temporarily disabled. Any devices | ||
673 | reading from that port can get confused. | ||
674 | Note that VIDIOC_S_STD is also used to switch from | ||
675 | radio to TV mode, so if a VIDIOC_S_STD is broadcast to | ||
676 | all I2C devices then you do not want to have an unwanted | ||
677 | side-effect here. */ | ||
678 | if (std == state->std) | ||
679 | return; | ||
680 | |||
671 | // This works for NTSC-M, SECAM-L and the 50Hz PAL variants. | 681 | // This works for NTSC-M, SECAM-L and the 50Hz PAL variants. |
672 | if (std & V4L2_STD_525_60) { | 682 | if (std & V4L2_STD_525_60) { |
673 | saa7115_dbg("decoder set standard 60 Hz\n"); | 683 | saa7115_dbg("decoder set standard 60 Hz\n"); |