diff options
-rw-r--r-- | linux/drivers/media/video/msp3400-driver.c | 12 | ||||
-rw-r--r-- | linux/drivers/media/video/msp3400.c | 12 |
2 files changed, 24 insertions, 0 deletions
diff --git a/linux/drivers/media/video/msp3400-driver.c b/linux/drivers/media/video/msp3400-driver.c index b6ab3a3ee..7081a88e8 100644 --- a/linux/drivers/media/video/msp3400-driver.c +++ b/linux/drivers/media/video/msp3400-driver.c @@ -1861,6 +1861,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) dprintk("msp34xx: AUDC_SET_RADIO\n"); msp->norm = VIDEO_MODE_RADIO; dprintk("msp34xx: switching to radio mode\n"); + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp->watch_stereo = 0; switch (msp->opmode) { case OPMODE_MANUAL: @@ -1977,6 +1981,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) dprintk("msp34xx: VIDIOCSCHAN (norm=%d)\n",vc->norm); msp->norm = vc->norm; + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp_wake_thread(client); break; } @@ -1986,6 +1994,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) { /* new channel -- kick audio carrier scan */ dprintk("msp34xx: VIDIOCSFREQ\n"); + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp_wake_thread(client); break; } diff --git a/linux/drivers/media/video/msp3400.c b/linux/drivers/media/video/msp3400.c index b6ab3a3ee..7081a88e8 100644 --- a/linux/drivers/media/video/msp3400.c +++ b/linux/drivers/media/video/msp3400.c @@ -1861,6 +1861,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) dprintk("msp34xx: AUDC_SET_RADIO\n"); msp->norm = VIDEO_MODE_RADIO; dprintk("msp34xx: switching to radio mode\n"); + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp->watch_stereo = 0; switch (msp->opmode) { case OPMODE_MANUAL: @@ -1977,6 +1981,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) dprintk("msp34xx: VIDIOCSCHAN (norm=%d)\n",vc->norm); msp->norm = vc->norm; + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp_wake_thread(client); break; } @@ -1986,6 +1994,10 @@ static int msp_command(struct i2c_client *client, unsigned int cmd, void *arg) { /* new channel -- kick audio carrier scan */ dprintk("msp34xx: VIDIOCSFREQ\n"); + if (IS_MSP34XX_G(msp)) { + msp34xxg_reset(client); + break; + } msp_wake_thread(client); break; } |